Python技术问询:如何判断当前输入值与前一输入值的大小关系
解决方法:跟踪前一个输入的数值
嘿,我一眼就看出问题啦!你现在的代码里,一直用最开始输入的f_n和每次新输入的数值比较,所以不管输入多少个新数,都是和第一个数比,而不是前一个输入的数。关键就是要在每次处理完当前输入后,把当前数更新成“前一个数”,这样下一次循环就能用它来对比啦。
我帮你修改了代码,主要做了这几个调整:
- 把变量名改成更清晰的
prev_num(前一个数)和current_num(当前数),逻辑更直观 - 在每次处理完有效输入(不是0的情况下),把
current_num赋值给prev_num,确保下一次比较的是上一次输入的数值
修改后的代码如下:
# 初始化前一个数的变量 prev_num = 0 print('Enter the first number: ', end=' ') first_input = input() prev_num = int(first_input) finished = False while not finished: print('Enter the next number, 0 to finish: ', end=' ') current_input = input() current_num = int(current_input) if current_num != 0: # 和前一个数比较 if current_num == prev_num: print('Same.') elif current_num > prev_num: print('Up.') elif current_num < prev_num: print('Down.') # 关键:更新前一个数为当前输入的数值 prev_num = current_num else: finished = True
你可以试试运行这个代码,现在每次输入的新数都会和上一次输入的数对比啦。比如先输入5,再输入5会显示Same,输入7显示Up,输入3显示Down,完全符合你的需求~
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

