TypeError:无法将“int”对象隐式转换为str Python 3

2024-09-30 06:11:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图做一个小程序,但它不会工作,我想写4个不同的数字整数和小数,但它不起作用。我得到错误消息TypeError:无法将'int'对象隐式转换为str。你们能帮帮我吗?在

a = str(input("Ange ett siffervärde: "))
b = str(input("Ange ett siffervärde: "))
c = str(input("Ange ett siffervärde: "))
d = str(input("Ange ett siffervärde: "))

l = (a+b+c+d)
for l in range (a, d+1):
    print(l)

我要程序把我输入的数字打印出来。在


Tags: 对象程序消息input错误数字整数int
3条回答

使用这个:

a = int(input("Ange ett siffervrde: "))
b = int(input("Ange ett siffervrde: "))
c = int(input("Ange ett siffervrde: "))
d = int(input("Ange ett siffervrde: "))

您试图将d用作整数:

for l in range (a, d+1):

{cd2>加上一个字符串:

^{pr2}$

所有输入设为整数:

a = int(input("Ange ett siffervärde: "))
b = int(input("Ange ett siffervärde: "))
c = int(input("Ange ett siffervärde: "))
d = int(input("Ange ett siffervärde: "))

接下来,您的for循环将清除l变量:

l = (a+b+c+d)
for l in range (a, d+1):

不清楚您想在循环中做什么,但是abc和{}的和现在丢失了,因为l也被用作循环变量。在

如果你想要小数,你可以用float()代替int(),但是要注意range()只能处理整数!在

如果要在循环中打印4个数字,请先创建一个列表,然后直接在列表上循环:

a = float(input("Ange ett siffervärde: "))
b = float(input("Ange ett siffervärde: "))
c = float(input("Ange ett siffervärde: "))
d = float(input("Ange ett siffervärde: "))

lst = [a, b, c, d]
for number in lst:
    print(number)

或者结合循环和询问号码并打印:

lst = []
for count in range(4):
    number = float(input("Ange ett siffervärde: "))    
    print(number)
    lst.append(number)

它请求一个数字四次,打印出给定的数字,然后将该数字添加到列表中以供以后使用。在

变量a、b、c和d是字符串,而不是数字,因此不能将它们作为参数传递给range,也不能将它们添加到int中。在

相关问题 更多 >

    热门问题