我應該寫一個循環程序,讓用戶輸入一系列整數,然後用-99指示系列結束。所有數字輸入後,程序應顯示輸入的最大和最小數字。Python:循環前哨值
這是我到目前爲止有:
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()
出於某種原因,定點值(-99)的進入循環,我不知道怎麼了,成爲最小的值。最重要的是,最大的價值永遠都不是正確的。非常感謝!
當然是了。你接受輸入,檢查越來越小,然後*檢查'while'循環的下一次迭代。 – CoryKramer 2014-10-17 19:11:25
您每次調用相同名稱的函數時,也會重置*'最小'和'最大'變量。這些局部變量在每次函數退出時被清除。 – 2014-10-17 19:12:30
除了這兩個問題之外,如果新數字是'> 0'或'<10000',那麼你也只能做'返回最大'或'最小返回';否則你沒有'return'語句,因爲它是在'if'下縮進的,所以你會返回'None'。這並不是說這個問題很重要,除非你解決了以前的問題,但是一旦你解決了這個問題,你也需要解決這個問題。 – abarnert 2014-10-17 19:19:47