为什么我的python代码返回语法错误?

时间:2019-04-10 16:41:35

标签: python syntax

我是python的新手,我一直在尝试通过创建一些练习代码来进行改进。

user_number = input('Enter in the number you want the factorial of: ')
print(str(user_number) + '! is equal to ' + str(factorial(int(user_number))))

我已经在代码的前面定义了阶乘函数,问题似乎出在这两行。有没有我看不到的语法错误?

3 个答案:

答案 0 :(得分:0)

Python 2中的input函数将用户输入评估为Python代码,而不是从字面上接受。您应该在Python 2中使用raw_input代替

user_number = raw_input('Enter in the number you want the factorial of: ')

答案 1 :(得分:0)

假设您正在使用Python 3,因为您的print语句是一个函数调用。当我使用

尝试您的代码时
import math

然后改为此行:

print(str(user_number) + '! is equal to ' + str(math.factorial(int(user_number))))

结果是:

10! is equal to 3628800

我输入了10作为值。 也许问题出在您的阶乘函数中。除非您也将其发布,否则很难知道。

答案 2 :(得分:0)

以下代码对我有用。我怀疑您的阶乘函数可能有问题。

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)

user_number = input('Enter in the number you want the factorial of: ')
print(str(user_number) + '! is equal to ' + str(factorial(int(user_number))))