bymyside_ 发表于 2022-6-5 00:55:40

python for循环内引用迭代对象出现警告的原因

chinese = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
x = input('in:')
for times in range(len(x)):
    x = chinese)]
print(x)

Class 'str' does not define'_setitem_',so the '[]' operator cannnot be used on its instances:4

bymyside_ 发表于 2022-6-5 01:06:40

这串代码问题很大,不能运行,帮忙分析一下这个警告原因就行了,这个代码是我随便试试玩的0,0
哈哈哈。

小甲鱼 发表于 2022-6-5 02:11:45

bymyside_ 发表于 2022-6-5 01:06
这串代码问题很大,不能运行,帮忙分析一下这个警告原因就行了,这个代码是我随便试试玩的0,0
哈哈哈。

x = input('in:') # 这里 x 是一个字符串

x = chinese)] # 这里试图修改字符串

由于字符串是不可变的序列,所以会报错。

另外,int() 没办法将中文转变为数字。

jackz007 发表于 2022-6-5 10:15:41

本帖最后由 jackz007 于 2022-6-5 14:36 编辑

s = ''
chinese = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
x = input('输入数字:') . strip()
if x and x . isdigit():
    for times in x:
      s += chinese
    print(s)

chinese = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
x = input('输入数字:') . strip()
if x and x . isdigit():
    e = list(range(len(x)))
    for times in range(len(x)):
      e = chinese)]
    print('' . join(e))

Victor0321 发表于 2022-6-6 09:09:48

小甲鱼 发表于 2022-6-5 02:11
x = input('in:') # 这里 x 是一个字符串

x = chinese)] # 这里试图修改字符串


虽然我没太看你想干嘛但是代码报错我看懂了哈哈哈哈
页: [1]
查看完整版本: python for循环内引用迭代对象出现警告的原因