Python 对于具有列表范围的循环执行
我正在从用户输入创建一个正整数列表。该列表将有5个值。如果输入为负数,该值将不会进入列表并发出错误消息并再次询问号码。 我在代码中遇到的问题是,循环在执行5次后会下降。然而,我希望它一直运行,直到我得到5个积极的inetegersPython 对于具有列表范围的循环执行,python,for-loop,Python,For Loop,我正在从用户输入创建一个正整数列表。该列表将有5个值。如果输入为负数,该值将不会进入列表并发出错误消息并再次询问号码。 我在代码中遇到的问题是,循环在执行5次后会下降。然而,我希望它一直运行,直到我得到5个积极的inetegers lists = [] for i in range(5): s = int(input('Enter a number: ')) if s >= 0: lists.append(s) else: print("Enter
lists = []
for i in range(5):
s = int(input('Enter a number: '))
if s >= 0:
lists.append(s)
else:
print("Enter a valid number")
print(lists)
您最好将其更改为while循环,如下所示:
lists = []
while len(lists)<5:
s = int(input('Enter a number: '))
if int(s) >= 0:
lists.append(int(s))
else:
print("Enter a valid number")
list=[]
而len(列表)=0:
列表。追加(整数)
其他:
打印(“输入有效数字”)
使用while循环而不是for循环:
while len(lists)<5:
s = int(input('Enter a number: '))
if s >= 0:
lists.append(s)
else:
print("Enter a valid number")
而len(列表)=0:
列表。追加
其他:
打印(“输入有效数字”)
For循环更适合于已知次数的迭代,而while循环将在执行之前检查条件