我想在Python中制作一个简单的基于文本的游戏。其中围绕一副扑克牌的想法,用A,2,3,4,5,6,7,8,9,10,J,Q和K代表牌面值(不使用小丑) 。这些卡的套装将由s,d,h和c表示。作为一个例子,“红心王”将被表示为Ah。Python - 一个关于字符串编辑的问题
我使用了两个random.choice()函数来选择一个随机面值和一个随机套装,其中10代表'X'。这是我遇到我的问题的地方。理想情况下,我想在'10'出现时改变'X'。下面是我生成随机卡的“测试”代码:
import random
firstvar = random.choice('A23456789XJQK')
secondvar = random.choice('sdhc')
newvar = firstvar + secondvar
if newvar[0] == 'X':
newvar[0] = '10'
print newvar
else:
print newvar
我很快发现这导致了错误。
类型错误:“海峡”对象不支持项目分配
总之,我的问题是:“我怎么会去在我的计划,以‘10’改变‘X’
?感谢您的帮助您连接才可以提供。
我同意#2,只是将它列入清单并放入10中,因为这就是您马上改变它的原因。 – user470379 2010-10-29 02:07:25
它完美的作品。谢谢! – 2010-10-29 02:08:44
@ user470379对,在这种情况下这可能是最好的,但字符串的不变性是一个足够常见的绊脚石(我是一个好的python编码器,有时我仍然绊倒它),值得查看所有的处理选项它从更一般的角度来看。 – aaronasterling 2010-10-29 02:12:57