gpt4 book ai didi

Python - 关于字符串编辑的问题

转载 作者:行者123 更新时间:2023-12-01 06:14:31 24 4
gpt4 key购买 nike

我正在尝试用 Python 制作一个简单的基于文本的游戏。其思想围绕着一副扑克牌,用A、2、3、4、5、6、7、8、9、10、J、Q和K代表牌面值(不使用Joker) 。牌的花色由 s、d、h 和 c 表示。例如,“红桃 A”将表示为 Ah。

我使用两个 random.choice() 函数来选择随机面值和随机花色,其中 10 用“X”表示。这就是我遇到问题的地方。理想情况下,我想在“X”显示为“10”时将其更改。这是我生成随机卡的“测试”代码:

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

我很快发现这会导致错误。

类型错误:“str”对象不支持项目分配

简而言之,我的问题是:“我如何将程序中的“X”更改为“10”?

感谢您提供的任何帮助。

最佳答案

在连接之前更改它。

firstvar = random.choice('A23456789XJQK') 
secondvar = random.choice('sdhc')
newvar = (firstvar + secondvar) if firstvar != 'X' else ('10' + secondvar)

或者,不要使用“X”开头:

firstvar = random.choice(['A', '2', '3', ..., '10', ...])

另一种替代方法是字符串上的 replace 方法:

newvar = firstvar.replace('X', '10') + secondvar

第二种方法可能最适合这种情况,除非您需要在代码中的其他地方使用“X”并且无法更改。不过,值得研究一下处理不可变字符串的其他方法,因为第二种方法并不总是合适。

关于Python - 关于字符串编辑的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4048447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com