2014-12-02 44 views
-4

我決定製作一個程序,它只是爲了好玩而編號。使用在線編譯器,我輸入了我的代碼,從我看到的沒有錯誤;它不會運行它只會有一個空白的控制檯條目。爲什麼我的平方函數不能運行?

我的代碼:

import math 

def square(): 
    number = raw_input("Please enter a number for me to square.") 
    number*number 
    print "Your answer is..." 
    print number 

Repl.it輸出:

+3

你必須**先**調用你的函數。然後你會看到你必須把你的計算分配給一個變量(可能是'number')。 – fredtantini 2014-12-02 16:02:44

+0

你不需要'輸入數學'(除了Martijn提供的答案) – Andy 2014-12-02 16:11:26

回答

4

一定要確保你也通話你的函數:

def square(): 
    # your function body here 

square() 

但在你的函數,你忽略了結果你的計算這裏的LT:導致東西

number*number 

分配:

answer = number * number 
print "Your answer is..." 
print answer 

你沒有一個數字,但是。 raw_input()返回一個字符串,所以要進行轉換的若干第一:

number = int(number) 

這假定用戶實際輸入的東西,可以被轉換成整數;只有數字,加上可能有一些空白,並在開始時使用+-。如果您想在此處優雅地處理用戶錯誤,請參閱Asking the user for input until they give a valid response以獲取更多高級選項。

+0

我做了所提及的事情,但是當我得到它運行它要求的數字,但輸入數字後,然後按Enter鍵我得到這個錯誤,回溯(最近通話最後一個): 文件「」,8號線,在 文件「」,5號線,在方 類型錯誤:無法按類型「STR」 – Galakras 2014-12-02 16:07:45

+0

非INT繁衍序列@ Galakras:更新; 'raw_input()'返回一個字符串,而不是一個整數。 – 2014-12-02 16:09:40

相關問題