在python 3中转换索引中的字符串切片

时间:2015-08-06 06:18:46

标签: python python-3.x python-3.4

对于一个学校项目,我必须做一个二十一点游戏,长话短说,我的手评估代码的一部分涉及我通过切片列表选择的字符串切片来增加变量。

我的代码是:

player_hand_sum =+ int(player_hand[0[:0]])

返回'int'对象的是不可订阅的错误。

关于如何解决这个问题的任何想法?

TIA

编辑:“player_hand”是一个包含两到五个字符串的列表。

1 个答案:

答案 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]])

另外,另一个问题,=+(虽然有效的语法)不会增加左侧名称的值(右侧只是直接指定),要做增量,你需要使用+=