问题描述
我试图在此程序的同一行中输入两个数字,但在我输入这两个数字(用空格分隔)时出现以下错误:
Traceback (most recent call last):
File "(the file path)",line 3,in <module>
for x in range(1,n1 + 1):
TypeError: can only concatenate str (not "int") to str
这是我的代码:
n1,n2 = input("Insert two numbers: ").split()
sum1 = 0
for x in range(1,n1 + 1):
sum1 += x ** n2
print(f'{x} to the power of {n2} is {x ** n2}')
print('The total sum is:',sum1)
我不明白为什么我会收到那个错误。我做错了什么?
n1,n2 = str(input("Insert two numbers: ").split())
Traceback (most recent call last):
File "(the file path)",line 1,in <module>
n1,n2 = str(input("Insert two numbers: ").split())
ValueError: too many values to unpack (expected 2)
我不太会使用 Python,我不明白我做错了什么。你能帮我一把吗?
解决方法
您需要将两个数字都转换为 int
:
n1,n2 = [int(x) for x in input("Insert two numbers: ").split()]
该错误是由 Python 尝试将字符串 n1
和整数 1 连接为字符串引起的:
n1 + 1