python - 我将如何更改此代码以显示它是“向上”、“向下”还是“与前一个数字相同”?
问题描述
我编写了一些代码来显示输入的数字是更高、更低还是与第一个输入的数字相同。我将如何更改此代码以显示输入的数字是否与先前输入的数字更高/更低/相同,而不仅仅是第一个数字。
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)
解决方案
而不是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