对于一个学校项目,我必须做一个二十一点游戏,长话短说,我的手评估代码的一部分涉及我通过切片列表选择的字符串切片来增加变量。
我的代码是:
player_hand_sum =+ int(player_hand[0[:0]])
返回'int'对象的是不可订阅的错误。
关于如何解决这个问题的任何想法?
TIA
编辑:“player_hand”是一个包含两到五个字符串的列表。
答案 0 :(得分:1)
问题来自切片内部 -
0[:0]
你试图在那里下标0
,这就是抛出int
不可订阅的错误。显示相同错误的示例 -
>>> l = [1,2]
>>> l[0[:0]]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not subscriptable
您希望改为[0][:1]
,例如 -
player_hand_sum += int(player_hand[0][:1]])
另外,另一个问题,=+
(虽然有效的语法)不会增加左侧名称的值(右侧只是直接指定),要做增量,你需要使用+=
。