程序將詢問用戶的輸入: INP =輸入(「輸入數字」)如何在Python中輸入輸入數字的最大最小值和平均值?
用戶可以輸入號碼作爲4535435439.我的第一個問題是我如何保存爲列表中的號碼。例如,如果用戶輸入爲12,14,15,我希望每個數字都存儲爲一個列表。有沒有inbuild功能?我該如何從列表中獲得最大值,最小值和平均值?
P.S我不需要代碼。請在邏輯中引導我。告訴我我該怎麼做?然後我會將它轉換成代碼並放在這裏。謝謝!
程序將詢問用戶的輸入: INP =輸入(「輸入數字」)如何在Python中輸入輸入數字的最大最小值和平均值?
用戶可以輸入號碼作爲4535435439.我的第一個問題是我如何保存爲列表中的號碼。例如,如果用戶輸入爲12,14,15,我希望每個數字都存儲爲一個列表。有沒有inbuild功能?我該如何從列表中獲得最大值,最小值和平均值?
P.S我不需要代碼。請在邏輯中引導我。告訴我我該怎麼做?然後我會將它轉換成代碼並放在這裏。謝謝!
如果數字用逗號分隔,你是幸運的
import ast
numbers = ast.literal_eval(inp)
會給你號的元組。一個元組轉換爲列表很容易
numbers = list(numbers)
有功能min()
和max()
,你可以用它來找到最小和最大值,只是通過numbers
他們
你可以做min
(或max
),而不這樣
min_number = numbers[0]
for n in numbers:
if n < min_number:
min_number = n
max
內建函數是類似
爲了得到平均,在Python2你需要轉換的數字來float
的一個長度
total = 0
for n in numbers:
total += n
average = float(total)/len(numbers)
增加的數量和鴻溝,否則你將得到一個整數divison。希望您在使用Python3,我看到你正在使用input()
代替raw_input()
快捷的方式是使用sum()
功能
average = sum(numbers)/len(numbers)
min(int(x) for x in raw_input().split(','))
會得到來自用戶的輸入。如果字符串是逗號分隔的數字,例如1, 2, 3, 4
,則會將字符串拆分爲每個數字,將它們轉換爲整數,找到該列表的最小值。
你不需要'[]'。 'min()'適用於生成器表達式 – 2012-08-14 10:28:37
非常棒!謝謝@gnibbler,不知道。 – Aesthete 2012-08-14 10:31:00
您可以在循環中要求用戶輸入一個數字,並在輸入和跳出循環時接受空輸入作爲結束。在循環中,您只需將輸入追加到列表中。
謝謝你的幫助gnibbler。但是我怎樣才能不使用Python函數呢?我想從邏輯上強大。我怎樣才能使用循環? – sachitad 2012-08-14 10:36:20
@sachitad,我將它添加到我的答案 – 2012-08-14 10:38:52
非常感謝你的幫助。欣賞它:) – sachitad 2012-08-14 10:41:07