我一直在阅读python小册子的介绍,并一直坚持以下问题。问题概述如下,我的尝试在问题之后。我遇到的问题是总数固定为输入的第一个数字,而问题是总数等于输入的每个新数字。我希望这是有道理的。提前致谢。
编写一个带有一系列数字的程序(以0结尾)。如果当前数字与前一个数字相同,则显示Same'; if the current number is greater than the previous one, it says
Up',如果它小于前一个数字,则显示“Down”。它对第一个数字没有任何反应。例如,它的列表9,9,8,5,10,10,0的输出将是相同,向下,向下,向上,相同(比较,反过来,9和9,9和8,8和5) ,5和10,10和10)。您可以假设输入中至少有两个数字。
输入第一个数字:9
输入下一个数字(0表示完成):9
同
输入下一个数字(0表示完成):8
向下
输入下一个数字(0表示完成):5
向下
输入下一个数字(0表示完成):10
向上
输入下一个数字(0表示完成):10
同
输入下一个数字(0表示完成):0
-
我的尝试低于
print('please enter the first number: (0 to finish) ', end = '')
d = input()
total = int(d)
finished = False
while not finished:
print('please enter the next number: (0 to finish) ', end = '')
s = input()
num = int(s)
if num != 0:
if num < total:
print('down')
elif num > total:
print('Up')
elif num == total:
print('Same')
else:
finished = True
答案 0 :(得分:0)
您只需将每个读取数字的值指定为“之前”。
print('please enter the first number: (0 to finish) ', end = '')
d = input()
total = int(d)
finished = False
while not finished:
print('please enter the next number: (0 to finish) ', end = '')
s = input()
num = int(s)
if num != 0:
if num < total:
print('down')
elif num > total:
print('Up')
elif num == total:
print('Same')
else:
finished = True
total = num # <---------!!!!!