あなたが私がforループを使用すると、10から範囲を持ってい
を言って何を意味するかは不明である - のための関数定義に のx^2 +1を置かれている19両方ともf(x)&g(x)である。
しかし、あなたが指定した範囲を意味している場合、たとえば、関数定義に配置されるあなたは、代わりにこのコードスニペットの出力は
のように見えるの機能に次のよう
def f(first: int, last: int) -> int:
for i in range(first, last + 1):
yield i ** 2 + 1
def g(first: int, last: int) -> int:
for i in range(first, last + 1):
yield i ** 3 + 1
for i in f(10, 20): print(i, end = " ")
print()
for i in g(10, 20): print(i, end = " ")
print()
を定義することができます
101 122 145 170 197 226 257 290 325 362 401
1001 1332 1729 2198 2745 3376 4097 4914 5833 6860 8001
使用Pythonは注釈をサポートしていない場合は、
のような定義を書き換えるには
'for x in range(10、20):print f(x)'? – mgilson
@mgilson答えとして投稿してください。 – Barmar
あなたはこれから何かを得るかもしれないし、そうでないかもしれないが、私の脳が働く方法は、範囲(10)のf(x)のための*(例えば)* '構文が正しくありません。パーサージェネレーターのためのpython [文法の定義](https://docs.python.org/2.7/reference/grammar.html)にあります。それを読む方法は[Wikipedia](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form)で説明されています。 – Aaron