在这段代码中,我希望用户输入一个整数,直到输入零,我才收到来自用户的输入。在接收到零号后,我将输入的数字按插入的相反顺序打印除零外。
我有两个问题:
-One是指如何在程序的输出中不打印零号。
-And第二个问题是如何正确地将while循环之前的条目添加到num列表中。
inp = int(input())
num = []
num.append(inp)
while inp > 0:
out = int(input())
num.append(out)
if out == 0:
for i in num[::-1]:
print(i)
样本输入:3 4 7 4 9 0样本输出:9 4 7 4 3,但我的输出如下:0 9 4 4 4 3
发布于 2022-08-01 08:45:44
由于您使用的是break和when语句,所以您可以使用一个无限循环,并且只有在inp
为零时才能中断它,否则继续将inp
添加到列表中。
最后用相反的顺序打印数字,就像你已经在做的那样。
这比较简单,因为:
您所阅读的if
).自动地看到时间停止循环(而不是被迫在中读取嵌套的if inp == 0: break
)。
将代码拆分为:收集数字和打印数字(时间和statements). )
int(input(...))
调用(因为所有操作都是在循环中完成)。num = []
while True:
inp = int(input())
if inp == 0:
break
num.append(inp)
for i in num[::-1]:
print(i)
发布于 2022-08-01 08:39:05
只需在将值追加到列表之前添加检查输入是否为0
的条件即可。
inp = int(input())
num = []
num.append(inp)
while inp > 0:
out = int(input())
if out == 0:
for i in num[::-1]:
print(i)
num.append(out)
但
即使是第一个输入也可以是0
,因此请将代码修改为
num = []
out = 1
while out > 0:
out = int(input())
if out == 0:
for i in num[::-1]:
print(i)
else:
num.append(out)
https://stackoverflow.com/questions/73190963
复制相似问题