【发布时间】:2020-05-09 15:29:42
【问题描述】:
import random
n=int(input())
array=[]
for i in range(0,n):
flag=True
while flag:
print("flag=",flag)
a=[]
for j in range(0,n):
if i!=j:
w= random.randint(0,1)
print("random=",w)
if w==1 and i<j:
v=random.randint(1,10)
a.append(v)
else:
a.append(0)
elif i==j:
a.append(0)
print(a)
if a.count(0) !=n:
print("a.count(0)=",a.count(0))
flag=False
print("flag value=",flag)
array.append(a)
print(array)
在这个程序中,如果零的个数不等于 n,它应该打破循环并将其附加到矩阵中,但这个循环运行无限次,标志的值被分配为 false,但标志值仍然是是的。这个程序是为每一行生成至少一个随机整数,所以我正在检查零是否不等于没有列打破循环。有什么办法吗?
所以请告诉我当零计数不等于输入 n 时如何停止此循环?
【问题讨论】:
-
您知道
break声明吗?你也可以把整个事情变成一个函数并使用return -
上面的代码存在缩进问题!请修改它,然后我们可以从那里拿走它。
-
elif后面的else是什么意思?
标签: python infinite-loop