条件语句 - python

时间:2018-06-05 09:24:21

标签: python

我一直在阅读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

1 个答案:

答案 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  # <---------!!!!!