将raw_input的输出转换为整数

时间:2015-03-02 20:03:10

标签: python

def total():
    n = prompt()
    answer = (n-2)*180
    print ("The polygon has", answer, "sides.")

 def prompt():
     x = raw_input("Type number: ")
     return x 

我试图让n等于prompt的输出为整数,以便可以对其进行数学运算。我该怎么做?

1 个答案:

答案 0 :(得分:0)

raw_input返回一个字符串,因此您无法将其用于任何计算。如果您想要一个整数,可以使用int函数转换该值。您可以在prompt函数内或稍后的调用函数中执行此操作(尽管使用一个函数要求用户返回一个数字会更有意义):

def prompt ():
    x = raw_input("Type a number: ")
    return int(x)

注意,int()可能会为任何用户输入的值不是有效整数提升ValueError。在这种情况下,您应该捕获异常并再次提示用户更正输入。请参阅this question了解其运作方式。