在Python3中转换索引内的字符串片段
对于一个学校项目,我必须制作一个21点游戏,长话短说,我的手部评估代码的一部分涉及到我通过对列表进行切片选择的字符串切片来增加变量 我的代码是:在Python3中转换索引内的字符串片段,python,python-3.x,python-3.4,Python,Python 3.x,Python 3.4,对于一个学校项目,我必须制作一个21点游戏,长话短说,我的手部评估代码的一部分涉及到我通过对列表进行切片选择的字符串切片来增加变量 我的代码是: player_hand_sum =+ int(player_hand[0[:0]]) 返回“int”对象的是不可下标错误 有什么办法可以补救吗 短暂性脑缺血发作 编辑:“玩家手”是一个包含两到五个字符串的列表。问题来自片内- 0[:0] 您试图在那里下标0,这会抛出int不可下标错误。示例显示相同的错误- >>> l = [1,2
player_hand_sum =+ int(player_hand[0[:0]])
返回“int”对象的是不可下标错误
有什么办法可以补救吗
短暂性脑缺血发作
编辑:“玩家手”是一个包含两到五个字符串的列表。问题来自片内-
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
另外,另一个问题是,
=+
(尽管语法有效)没有将左侧名称的值增加到右侧名称的值(它只是直接赋值),要增加值,您需要使用+=
播放器的手看起来像什么?您正在切片什么?从何处到何处?您当前的代码不会增加player\u hand\u sum,而是将值赋给它,这是因为“=+”应该是“+=”。我正在尝试切掉列表第一个索引的第一个字符。我猜您想要player\u hand[0][:1]
,但是很难从代码中分辨出来。=+
确实起到了作用:它将右侧的值分配给左侧的目标。这不同于+=
所做的,但是它做了一些相当重要的事情。好吧,我的意思是它没有做OP认为它会做的事情。改写。谢谢。谢谢,很抱歉我不够清晰,这是我第一次发帖。
player_hand_sum += int(player_hand[0][:1]])