我正在嘗試將作為我正在做的課程的一部分的串列理解轉換為 for 回圈,但不斷遇到錯誤/錯誤。我在串列理解中使用了 if all ,我無法確定什么順序/如何將其合并到 for 回圈中。
我的代碼是:
def count_primes(num):
prime = [x for x in range(2,num) if all (x % y != 0 for y in range (2,x))]
return len(prime)
我目前已經嘗試過(但沒有作業)
def count_primes(num):
primes = [2]
for x in range(3,num):
for y in range(2,x):
if x % y == 0:
break
else:
primes.append(x)
break
return len(primes)
uj5u.com熱心網友回復:
這應該可以解決問題
primes = [2]
for x in range(3, num):
all_check = True
for y in range(2, x):
if x % y == 0:
all_check = False
break
if all_check:
primes.append(x)
在您的示例中,您實際上并沒有一直回圈來檢查值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/511135.html
上一篇:如果行滿足條件,則列值的總和
下一篇:你能告訴我這個回圈有什么問題嗎?
