python while循环
求助大神,这样写while循环为啥不对?n=1
while n < 10:
x=1
while x < n:
if n % x == 0:
print(n,'=','*',n//x)
break
else:
print(n,'是一个素数')
结果是这样的:
1 是一个素数
1 是一个素数
1 是一个素数
1 是一个素数
1 是一个素数
1 是一个素数
1 是一个素数
Traceback (most recent call last):
File "D:/BaiduNetdiskDownload/python/分支和循环-for循环5.4.py", line 9, in <module>
你的代码中有一个缩进错误,else部分应该与内层的while对齐。此外,你需要在外层循环中更新n的值,否则它会一直保持为1,导致无限循环。以下是修复后的代码:
n = 1
while n < 10:
x = 1
while x < n:
if n % x == 0:
print(n, '=', '*', n // x)
break
x += 1
else:
print(n, '是一个素数')
n += 1
这将输出正确的结果:
1 是一个素数
2 是一个素数
3 是一个素数
4 = * 2
5 是一个素数
6 = * 2
7 是一个素数
8 = * 2
9 = * 3 {:10_254:}{:10_254:}{:10_254:}
页:
[1]