python请输入_不断提示用户输入Python
通過封裝程序的每個步驟,您可以消除所有三個功能需求。我們將讓main控制循環,并通過將數據傳入和傳出函數調用來控制流,而不是將循環放在函數內部。
讓我們重新設計一下input_numbers()函數。def get_input_number():
num = int(raw_input("Enter a positive integer no greater than 42 "))
if num <= 0 or num > 42:
print "Invalid input. Try again "
get_input_number()
else:
return num
因此,與其讓輸入的數字控制循環以及輸入處理和驗證,不如讓它按照它的名稱所暗示的那樣:它請求輸入,驗證它,然后,如果它是好的,它將值返回給調用者,但是如果它是壞的,它會寫一條消息,然后再次調用自己給用戶可以輸入好的輸入。
我們將設置的下一個函數直接來自您的需求列表。從用戶輸入的所有數字中,我們需要找到最大的一個。僅從語言上,我們就可以確定我們正在查找一組數字,因此,這是一個列出列表的好地方。假設我們將所有輸入的用戶存儲在一個列表中,然后我們可以將該列表傳遞給一個函數并對其執行操作,就像這樣。def get_greatest_number(input_list):
highest = input_list[0]
for i in input_list:
if i > highest:
highest = i
return highest
我們將列表的第一個元素設置為變量highest,然后根據該初始值檢查列表中的所有其他元素。如果我們找到一個更大的變量,然后將highest變量重新分配給更大的元素。一旦我們對列表中的每個元素都這樣做了,highest中的數字現在將是,就是,highest中的數字,所以,我們將它返回到主程序。
同樣,我們也可以找到最小的。def get_smallest_number(input_list):
smallest = input_list[0]
for i in input_list:
if i < smallest:
smallest = i
return smallest
最后,我們到達主回路。這里我們聲明一個空列表,number_list來存儲所有的數字。我們用它的和作為循環條件。if __name__ == '__main__':
number_list = []
while sum(number_list) < 179:
number_list.append(get_input_number())
在循環的主體中,我們調用get_input_number()并將其結果附加到我們創建的列表中。一旦列表中的數字之和超過179,while循環將退出,我們最終可以向用戶顯示結果。print
print '-------------------------'
print 'total of numbers entered: %d' % sum(number_list)
print 'greatest number entered: %d' % get_greatest_number(number_list)
print 'smallest number entered: %d' % get_smallest_number(number_list)
在這里,我們可以生成get_greatest_number和get_smallest_number,并將數字列表作為參數提供給它們。它們將循環遍歷列表,然后將適當的值返回給print語句。
總結
以上是生活随笔為你收集整理的python请输入_不断提示用户输入Python的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pcie协议_PCIE总线,你不得不知道
- 下一篇: python没有错误但是不显示结果_为什