|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
代码如下 请问哪里出问题了
begin = int(input('enter begin'))
end = int(input('enter end'))
for i in range(begin, end+1):
if i < 3:
print(i, 'is a prime number')
for j in range(2, i):
if (i % j == 0):
print(i, 'is not a prime number')
break
else:
print(i, 'is a prime number')
break
对不起,我之前的回答中有误导性的错误。对于你提供的代码,应该将打印 "is a prime number" 和 "is not a prime number" 的部分移动到循环结束之后。在你的代码中,这些打印语句应该与最外层的 `for` 循环同级。这样才能正确判断每个数是素数还是非素数。
修正后的代码如下所示:
begin = int(input('enter begin: '))
end = int(input('enter end: '))
for i in range(begin, end+1):
if i > 1:
is_prime = True
for j in range(2, i):
if i % j == 0:
is_prime = False
break
if is_prime:
print(i, 'is a prime number')
else:
print(i, 'is not a prime number')
else:
print(i, 'is not a prime number')
这样修改后,代码将正确判断每个数是素数还是非素数,并打印相应的结果。抱歉给你带来困扰,感谢你的耐心。
|
|