2016-04-21 57 views
-1

我可以弄清楚如何讓這段代碼接受浮點數以及整數。修改代碼以接受任何實數(整數或浮點數)

這段代碼的作用是:接受無限量的用戶輸入,必須作爲非負整數。當檢測到空行時,輸入結束。

該代碼;按升序打印列表。打印所有數字的總數,然後打印平均數字。

代碼:

nums = [] 
response = " " 
total = 0 

print("Type a positive integer: ") 

while response != "": 
    response = input() 
    if response.isnumeric(): 
     nums.append(int(response)) 
     print("Next number: ") 

    elif response == '': 
     break  
    else: 
     print("Error, you have to type a non-negative integer.") 

nums.sort() 

for item in nums: 
    total = total + item 
if nums != []: 
    print("The numbers in order: ",nums)  
    print("Total number: ",total) 
    print("The average is",sum(nums)/len(nums)) 
else: 
    print("There are no numbers in the list") 
+0

問題是什麼,如果你能弄明白的話? – usr2564301

回答

1

行:

nums.append(int(response)) 

撒開你的字符串輸入到integerss。如果你希望它採取整數以及花車,那麼你需要完全去除施放

nums.append(float(response)) 
0

:它只是改變

nums.append(response) 
0

如果要追加整數作爲int和作爲浮動float,你可以使用:

nums.append(float(response) if "." in number else int(response)) 
0

float類有一個.is_integer()function

buf = float(response) 
if buf.is_integer(): 
    buf = int(buf) 
nums.append(buf)