[英]Check whether the number in a range is a prime number, if not, return all factors
假設我們要查看范圍(2,10)。
我寫了以下代碼:
for n in range(2,10):
for x in range(2,n):
if n%x == 0:
print(n,'equals',x,'*',n//x)
break
else:
print(n, "is a prime number")
上述方法可以正確地進行檢查,但它也返回一個因素。
但是如果我替換 break 繼續:
for n in range(2,10):
for x in range(2,n):
if n%x == 0:
print(n,'equals',x,'*',n//x)
continue
else:
print(n, "is a prime number")
它不能再正確地進行檢查了。 那么有沒有更好的方法來正確地檢查和所有因素? 你的回答對我有很大的幫助!!
不要使用 break 或 continue,而是按如下方式制作和使用 bool 變量prime
。
for n in range(2,10):
prime = True
for x in range(2, n):
if n%x == 0:
print(n,'equals',x,'*',n//x)
prime = False
if prime:
print(n, "is a prime number")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.