2014-12-02 33 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

相关问题