首页 > 解决方案 > 我将如何更改此代码以显示它是“向上”、“向下”还是“与前一个数字相同”?

问题描述

我编写了一些代码来显示输入的数字是更高、更低还是与第一个输入的数字相同。我将如何更改此代码以显示输入的数字是否与先前输入的数字更高/更低/相同,而不仅仅是第一个数字。

answers = ""
print("Enter the first number: ", end = "")
f = input()
first = int(f)
finished = False
while not finished:
    print("Enter the next number (0 to finish):  ", end = "")
    s = input()
    num = int(s)
    if num != 0:
        if num < first:
            answers += "Down "
        elif num > first:
            answers += "Up "
        elif num == first:
            answers += "Same "
    else:
        finished = True
        print(answers)

标签: python

解决方案


而不是first您需要保存prev(以前的)数字,并在每次迭代时更新它:

answers = ""
print("Enter the first number: ", end="")
f = input()
prev = int(f)
finished = False
while not finished:
    print("Enter the next number (0 to finish):  ", end="")
    s = input()
    num = int(s)
    if num != 0:
        if num < prev:
            answers += "Down "
        elif num > prev:
            answers += "Up "
        elif num == prev:
            answers += "Same "
        prev = num  ######## <=========== this is the line that updates prev to the current num
    else:
        finished = True
        print(answers)

例子:

Enter the first number: 1
Enter the next number (0 to finish):  2
Enter the next number (0 to finish):  3
Enter the next number (0 to finish):  2
Enter the next number (0 to finish):  2
Enter the next number (0 to finish):  1
Enter the next number (0 to finish):  0
Up Up Down Same Down 

推荐阅读