0
我使用PyCharm來實現一個旨在生成素數的程序。像這樣的代碼:如何在調試python項目時檢查由generator生成的元素?
def _odd_iter():
n = 1
while True:
yield n
n = n + 2
def _not_divisible(n):
return lambda x: x % n > 0
def primes():
it = _odd_iter()
yield 2
while True:
i = next(it)
yield i
it = filter(_not_divisible, it) # !!!!!!!!!!don't know how it works!!!!!!!!!!
for n in primes():
if n < 1000:
print(n)
else:
break
對我來說,註釋的代碼是模糊的,我不知道它是如何工作的,以及它是否是正確的,所以我就可以添加一個斷點,並確定調試。但它是一個發電機,我看不到詳細的數字。我能做什麼?
你不需要調試器。只需在primes()中輸入p:print p'。建議你爲'p'添加一個'break'語句變得比1000更大,否則它將永遠持續下去。 – Elmex80s
您可以評估表達式和「列表(它)」。 –