我刚接触Python编程,正在进行一些实验。希望我的问题不会太傻:我正在编写一个小程序,将输入添加到列表中,并在输入等于4时打印出来,使用while循环。问题是它永远不会停止添加输入并打印列表。
我的代码是:
S=input()
L=[]
while S!=4:
L.append(S)
if S==4:
break
print(L)
input()函数返回字符串对象,因此它们永远不可能等于整数对象4。
要解决这个问题,请将4
替换为'4'
。
这将把'4'
视为字符串,当你输入4作为输入时,相等性将保持不变。
S = 1
,例如,之后S
始终为1,所以S
永远不会变成4,你的循环永远不会停止,你必须把你的输入加入到while
中:list = []
number = -1
while number != 4:
number = int(input())
list.append(number)
print(list)
如果在while
中检查到S != 4,就不需要在while
中使用if
语句。
您的代码还有一个大问题,即您没有更新 S。更正确的答案应该是:
S=input()
L=[]
while S!=4:
L.append(S)
if S=="4":
break
S = input()
print(L)
你的代码中创建了一个无限循环。在进入循环后,你没有改变S的值。你应该在循环内部添加另一个输入,像这样:
S=input()
L=[]
while S!=4:
L.append(S)
S = input()
print(L)
int(input())
。 - Ma0