关于python的问题?

my_list = [1, 2, 3, 4, "5"]
int(my_list[4])
number = int(input("请输入一个number:"))
# number = int(number)
for i in my_list:
print(f"{i}/{number}={i/number}")
的报错内容是
Traceback (most recent call last):
File "/Users/jack/Desktop/04 流程控制/0011-04-01000000/04-03.py", line 18, in <module>
print(f"{i}/{number}={i/number}")
TypeError: unsupported operand type(s) for /: 'str' and 'int'

你的程序大部分都没错,只是对列表my_list中的字符串元素"5"转数值元素时,要把转换结果赋值给原元素,

否则列表my_list没改变,导致处理字符串元素"5"时,出现不支持字符串和整数相除操作的错误.

完整的Python程序如下(改动的地方见注释,仅一处有问题)

my_list = [1, 2, 3, 4, "5"]

my_list[4]=int(my_list[4]) #这里把int(my_list[4])改成my_list[4]=int(my_list[4])

number = int(input("请输入一个number:"))

for i in my_list:

 print(f"{i}/{number}={i/number}")

源代码(注意源代码的缩进)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-08-03

改成这样:

my_list = [1, 2, 3, 4, "5"]

number = int(input("请输入一个number:"))

for i in my_list:

    temp=int(i)

    print(f"{i}/{number}=",temp/number)

运行结果如下:

第2个回答  2021-08-03
my_list = [1, 2, 3, 4, "5"]
这里5的双引号去掉
第3个回答  2021-08-04

当i遍历到"5"的时候,代码第六行为"5"/number,由于字符串不能运算,所以报错


解决方法:1.把my_list里的"5"改成整数5

                 2.把代码最后一行的 i/number 改成 int(i)/number

望采纳!!!