为了账号安全,请及时绑定邮箱和手机立即绑定

尝试下标时不可下标错误

尝试下标时不可下标错误

largeQ 2021-12-17 10:42:45
我们从用户输入的仅包含小写字母的字符串开始for letter in encoded_input:        if letter == ' ':            decoded_output.append(' ')            continue                decoded_output.append(map_input(letter,tpos1,tpos2,tpos3))然后传递给这个函数def map_input(value,r1,r2,r3,wr=wiring,rf=reflector):#Use reflector as well    pass1 = rf[r3[r2[r1[wr[ALPH.index(value)]]]]]    r1,r2,r3 = reverse_rotors(r1,r2,r3)    return ALPH[wr[r1[r2[r3[pass1]]]]]其中传递的所有变量都是包含以唯一排列的数字 0-25 的列表。问题但是,当我这样做时,我收到一条错误消息,告诉我pass1 = rf[r3[r2[r1[wr[ALPH.index(value)]]]]]TypeError: 'int' object is not subscriptable我是否遗漏了显而易见的事情,还是发生了一些微妙的事情?值确实是 ALPH 中的小写字母(它只是一个包含字母表的列表)。
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

该错误意味着您尝试执行foo[bar]wherefoo是一个整数。像这样的东西


x = 1

x[0]

将重现错误。所以在这里,反射器、字母、tpos1、tpos2、tpos3 或布线之一是整数。


查看完整回答
反对 回复 2021-12-17
  • 1 回答
  • 0 关注
  • 141 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号