Python 以 10 为底的 int() 输入无效文字

Python input invalid literal for int() with base 10

我的 python 代码运行良好。但问题出在网站上,它希望输入为字符串格式,中间有空格,并被接受为整数

下面是我的实际 python 代码

    x = int(input())
    n = int(input())
    
    prod = 1
    
    if(x >= 0 and x <= 9 and n >=0 and n <= 9):
        for i in range(n):
            prod = prod * x
    print(prod) 

这段代码实际上是计算一个数的幂。 例如:x = 3, n = 4, prod = 81

现在的错误是

    ValueError: invalid literal for int() with base 10: ' 3 4'

    x = int(input())
    n = int(input())

我必须以这种格式 3 4 接受两个输入 x & n。谁能帮我解决这个问题?

无效,因为您的字符串有 space。只需 space 上的 split 即可获得两个数字的列表,并且可能还会验证结果列表的长度,具体取决于您可能获得的输入内容。

这是代码

x=int(input("Enter number1:"))
n=int(input("Enter number2:"))
prod = 1
if(x >= 0 and x <= 9 and n >=0 and n <= 9):
    for i in range(n):
        prod = prod * x
print(prod) 

希望对您有所帮助

替换

x = int(input())
n = int(input())

s = input('enter two integers: ')
x, n = [int(i) for i in s.split()]

在这里,您使用的是 int()。因此,它需要 input() 引号内的整数值。 Space 不属于称为整数的类别。要解决此错误,请使用 split()