-2
次の機能に問題があります。私はそれが何をしているのか理解できません。なぜなら私はPythonを初めて使うからです。助けてください。前もって感謝します。次のセグメントは何ですか - Python
def foo(limit):
a = [True] * limit
a[0] = a[1] = False
for (i,b) in enumerate(a):
if b:
yield i
for n in xrange(i*i,limit,i):
a[n] = False
「yield i」に間違ったインデントがあるため、構文エラーが発生します。それとは別に、正確に理解できない部分はありますか? (コード全体の説明はちょっとです) – UnholySheep
[Sieve of Eratosthenes](https://en.m.wikipedia.org/wiki/Sieve_of_Eratosthenes)を使った素数生成器だと思います – furas
@furas Itエラトステネスの篩に似ていますが、ここでは少し違っているように見えます:最後のfor-loopを見ると、それはi²から始まる数字を横切るだけです(通常のふるいと比べて) – jadsq