[英]Python Prime Numbers Loop
When running this code, I keep having an error. 运行此代码时,我一直出错。 I would like to know what is wrong.
我想知道哪里出了问题。 The code has to be able to read words and integers and repeat the prompt(Please enter an integer >= 2: ') until it is greater or equal to 2. Thanks in advance.
该代码必须能够读取单词和整数并重复提示(请输入整数> = 2:'),直到它大于或等于2。在此先感谢您。
def prime_number():
prime_num = input('Please enter an integer >= 2: ')
while not(prime_num.isdigit() and int(prime_num)<1):
prime_num = input('Please enter an integer >= 2: ')
for i in range(2,int(prime_num)+1):
for x in range(2,i):
if i%x == 0:
break
else:
print (i)
while
condition is buggy while
条件是越野车 This should work: 这应该工作:
def prime_number():
prime_num = input('Please enter an integer >= 2: ')
while not (prime_num.isdigit() and not int(prime_num)<1):
prime_num = input('Please enter an integer >= 2: ')
for i in range(2,int(prime_num)+1):
for x in range(2,i):
if i%x == 0:
break
else:
print (i)
prime_number()
You need to enter the function. 您需要输入功能。 This is typically done in python with:
通常使用以下命令在python中完成:
def prime_number():
prime_num = input('Please enter an integer >= 2: ')
while not(prime_num.isdigit() and int(prime_num)<1):
prime_num = input('Please enter an integer >= 2: ')
for i in range(2,int(prime_num)+1):
for x in range(2,i):
if i%x == 0:
break
else:
print (i)
if __name__ == "__main__":
prime_number()
Just some advice in general. 一般而言,只是一些建议。 I would separate the input logic from the prime number calculation logic.
我将输入逻辑与质数计算逻辑分开。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.