2014-07-25 25 views
0

[上運行的Xubuntu 12.04 LTS,Python的2.7]Python的分鐘()函數不同工作的raw_input轉換爲float

嘿。這個任務讓我有點掙扎。這是關於學習Python的書,但我可能在這裏錯過了一些東西。我不需要完整的答案,但提示我應該做什麼比複製/粘貼更好。

我現在的目標是創建代碼,計算迄今爲止所有用戶輸入的最小數量。我知道它必須做一些事情,因爲它必須有一些列表,但我不知道現在該做什麼,所以不能使用min()和「for循環」作爲浮點數/單個數字。

Count = 0 
Total = 0 
Smallest = None #Or maybe I should use something like Smallest = []? 

while True: 
    user = raw_input("Enter number, when you are finished enter done or press enter: ") 
    if len (user) < 1: break 
    if user == "done": 
    print "Done entered, program executed!" 
    break 
    try: 
    fuser = float(user) 
    print "Valid input.", "Your input:", fuser 
    except: 
    print "Invalid input.", "Your input:", user 
    continue 
    Count = Count + 1 
    Total = Total + fuser 
    #Smallest = None 
    #for i in [Total]: 
    #if Smallest is None or itervar < Smallest: 
     #Smallest = i 
# As you can see I've been simply trying to find some way (code with # obviously doesn't work at all...) 

#print "Min: ", Smallest 
print "Count: ",Count 
print "Total number: ",Total 
try: 
    print "Average:", Total/Count 
except: 
    print "NOT AVAILABLE" 

非常感謝您提供關於接下來要做什麼的提示和提示。

回答

1

最簡單的方法可以是:

Smallest = [] 
... 
Smallest.append(float(user)) 

,然後將總是sum(Smallest),最小是min(Smallest)和數目是len(Smallest)。您正在存儲所有中間值,這並不是真的必要,但我認爲這是最簡單的。

+0

感謝這工作。 – gofraidh