我应该编写一个循环程序,让用户输入一系列整数,然后是-99,表示序列结束。输入所有数字后,程序应显示输入的最大和最小数字。
这就是我目前所拥有的:
def main():
user_input = 1
while user_input != -99:
user_input = int(input("Enter your number or -99 to end."))
bigger = largest(user_input)
tinier = smallest(user_input)
print('The largest number is ', bigger, "and the smallest is ", tinier, ".")
def largest(number):
largest = 0
if number > largest:
largest = number
return largest
def smallest(number):
smallest = 10000
if number < smallest:
smallest = number
return smallest
main()
由于某种原因,sentinel值(-99)正在进入循环,我不知道如何进入,并成为最小值。除此之外,最大的价值永远不是正确的。非常感谢您的帮助!
如果使用列表存储数字并依赖于标准库中的max/min函数,则非常简单:
缩进在python中很重要,因此最小值和最大值函数return语句的缩进不正确
要解决这个问题,对代码进行的最快更改是
问题是,如果用户输入-99,则完成循环迭代的其余行。在下次之前,它不会终止
while
循环,但它已经在此时执行了largest
和smallest
,因此它已经被覆盖。相关问题 更多 >
编程相关推荐