2013-09-22 54 views
-3

我在做作業問題的工作,並得到了以下錯誤:誤差「不支持的操作型」轉換時腳英寸

Traceback (most recent call last): 

File "/Users//Dropbox/Homework 3 - 2.py", line 15, in <module> 
    conversion = convert_feet_to_inches(get_feet) 
File "/Users//Dropbox/Homework 3 - 2.py", line 4, in convert_feet_to_inches 
    calculate_conversion = feet*12 TypeError: 
unsupported operand type(s) for *: 'function' and 'int' 

這裏是我的代碼。我試圖將腳轉換爲英寸:

def convert_feet_to_inches(feet): 
    calculate_conversion = feet*12 
    return calculate_conversion 

def get_feet(): 
    ask_for_feet = float(input("Please enter number of feet for conversion ")) 
    return ask_for_feet 

def printing_answer(): 
    print (convert_feet_to_inches) 

asking_for_feet = get_feet() 
conversion = convert_feet_to_inches(get_feet) 
print_answer(printing_answer) 

我在做什麼錯?

回答

1

我覺得你的意思傳遞asking_for_feetconvert_feet_to_inches,而不是在這條線的功能get_feet

conversion = convert_feet_to_inches(get_feet) 

所以這應該是:

conversion = convert_feet_to_inches(asking_for_feet) 
+0

你是對的,我固定的一部分,我固定的最後一行到print_answer =(printing_answer),但現在沒有出來,我不要錯誤,我只是輸入和程序結束,我不明白爲什麼它不乘法 – user2803150

+0

@ user2803150在'printing_answer'函數中,使用return和not print。 – TerryA

+0

def printing_answer(): return(convert_feet_to_inches) 這是我編輯的編輯,我還是沒有收到輸出,謝謝你的一切幫助,我想不好就想一想 – user2803150

0

錯誤是因爲get_feet()是一個函數,你將它傳遞給convert_feet_to_inches(),它將你傳遞的參數乘以12,你不能用int乘以一個函數,這就是錯誤所說的。我認爲你的意思是通過asking_for_feet。因此,改變

conversion = convert_feet_to_inches(get_feet) 

conversion = convert_feet_to_inches(asking_for_feet) 

之後,你有

print_answer(printing_answer) 

print_answer尚未定義的功能,從而改變:

def printing_answer(): 
    print (convert_feet_to_inches) 

def print_answer(answer): 
    print (answer) 

然後你的代碼,最後一行是:

print_answer(conversion) 
相關問題