Python TypeError:列表索引必须是整数或片,而不是str“convert the characterter”
想要: 输入2 想要:Python TypeError:列表索引必须是整数或片,而不是str“convert the characterter”,python,string,list,type-conversion,int,Python,String,List,Type Conversion,Int,想要: 输入2 想要: 1 2 3 4 .... 20 但结果是: TypeError:列表索引必须是整数或片,而不是str 在Python3中,输入返回一个字符串。然而,在Python2中,input返回您要查找的类型,即整数。因此,您需要将输入函数强制转换为int,因为您显然是在尝试按索引在列表中赋值 1 - 3 4...20 做: inputNum3=intinput 若要获取整数,您不能以字符串作为索引访问
1 2
3
4
.... 20
但结果是:
TypeError:列表索引必须是整数或片,而不是str
在Python3中,输入返回一个字符串。然而,在Python2中,input返回您要查找的类型,即整数。因此,您需要将输入函数强制转换为int,因为您显然是在尝试按索引在列表中赋值
1
-
3
4...20
做:
inputNum3=intinput
若要获取整数,您不能以字符串作为索引访问列表
变量名应以小写字母开头。通常也是蛇形,所有小写字母用下划线分隔:
Number = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
for n in range(0, 20):
print(Number[n]+1\n)
InputNum3 = int(input())
Number[InputNum3] = ''.join(str('-'))
您不需要。在此处加入,因为您希望只包含一个字符
您也可以这样填写您的号码列表:
数字=[x代表范围20中的x]
这被称为一个
最后,如果要打印完整列表,只需执行printnumber,无需for循环
如果要打印从索引x到y的所有列表元素,可以使用列表切片:
例如,数字[3:15]
有关切片的更多示例,请参见
number = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
input_num = int(input())
number[input_num] = "-"
输入函数接受值作为字符串
input返回一个str,您需要将其强制转换为int才能使索引有效。对于我来说,它会引发SyntaxError。
number = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
input_num = int(input())
number[input_num] = "-"
Number = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
for n in range(0, 20):
print(Number[n]+1\n)
>>InputNum3 = int(input())
Number[InputNum3] = ''.join(str('-'))