python请输入_不断提示用户输入Python
通過封裝程序的每個步驟,您可以消除所有三個功能需求。我們將讓main控制循環(huán),并通過將數(shù)據(jù)傳入和傳出函數(shù)調(diào)用來控制流,而不是將循環(huán)放在函數(shù)內(nèi)部。
讓我們重新設(shè)計一下input_numbers()函數(shù)。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
因此,與其讓輸入的數(shù)字控制循環(huán)以及輸入處理和驗(yàn)證,不如讓它按照它的名稱所暗示的那樣:它請求輸入,驗(yàn)證它,然后,如果它是好的,它將值返回給調(diào)用者,但是如果它是壞的,它會寫一條消息,然后再次調(diào)用自己給用戶可以輸入好的輸入。
我們將設(shè)置的下一個函數(shù)直接來自您的需求列表。從用戶輸入的所有數(shù)字中,我們需要找到最大的一個。僅從語言上,我們就可以確定我們正在查找一組數(shù)字,因此,這是一個列出列表的好地方。假設(shè)我們將所有輸入的用戶存儲在一個列表中,然后我們可以將該列表傳遞給一個函數(shù)并對其執(zhí)行操作,就像這樣。def get_greatest_number(input_list):
highest = input_list[0]
for i in input_list:
if i > highest:
highest = i
return highest
我們將列表的第一個元素設(shè)置為變量highest,然后根據(jù)該初始值檢查列表中的所有其他元素。如果我們找到一個更大的變量,然后將highest變量重新分配給更大的元素。一旦我們對列表中的每個元素都這樣做了,highest中的數(shù)字現(xiàn)在將是,就是,highest中的數(shù)字,所以,我們將它返回到主程序。
同樣,我們也可以找到最小的。def get_smallest_number(input_list):
smallest = input_list[0]
for i in input_list:
if i < smallest:
smallest = i
return smallest
最后,我們到達(dá)主回路。這里我們聲明一個空列表,number_list來存儲所有的數(shù)字。我們用它的和作為循環(huán)條件。if __name__ == '__main__':
number_list = []
while sum(number_list) < 179:
number_list.append(get_input_number())
在循環(huán)的主體中,我們調(diào)用get_input_number()并將其結(jié)果附加到我們創(chuàng)建的列表中。一旦列表中的數(shù)字之和超過179,while循環(huán)將退出,我們最終可以向用戶顯示結(jié)果。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,并將數(shù)字列表作為參數(shù)提供給它們。它們將循環(huán)遍歷列表,然后將適當(dāng)?shù)闹捣祷亟oprint語句。
總結(jié)
以上是生活随笔為你收集整理的python请输入_不断提示用户输入Python的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pcie协议_PCIE总线,你不得不知道
- 下一篇: delete 会不会锁表_MySQL的i