【问题标题】:TypeError in python codepython代码中的TypeError
【发布时间】:2015-04-25 11:37:05
【问题描述】:

最近在学习函数时,我定义了一个函数,它返回用户输入的数字的立方。我还定义了另一个函数来检查数字是否可以被三整除,然后将它的立方。这是代码

    def cube(number):
        return number*number*number
    def by_three(number):
       if number%3 == 0:
          return cube(number)
   else:
    return False 
   number = raw_input("Enter any number\n")
   cube(number)
   by_three(number)
   print cube(number)
   print by_three(number)

定义函数后,我调用了函数。现在,当我运行程序时,输入部分(用户输入数字的地方)工作正常,但之后我收到如下错误:

 Traceback (most recent call last):
    File "python", line 10, in <module>
    File "python", line 2, in cube
 TypeError: can't multiply sequence by non-int of type 'unicode'

请注意,没有缩进错误。由于这是我第一次提出问题,我可能已经创建了代码块并且没有正确对齐代码。它在我的原始脚本中完全缩进。 :p

【问题讨论】:

    标签: python-2.7 typeerror


    【解决方案1】:

    raw_input() 返回一个字符串。

    您需要包装它以便将结果用作整数:

    int(raw_input())
    

    【讨论】:

    • 谢谢!!现在完美运行。
    猜你喜欢
    • 1970-01-01
    • 2021-04-02
    • 1970-01-01
    • 2017-07-09
    • 2021-07-17
    • 2016-02-08
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多