Python多行字符串替换字符无效的原因及解决方法
Python字符串replace方法未生效的原因及解决办法
问题原因
Python里的字符串是不可变对象,调用str.replace()方法时,不会直接修改原字符串的内容,而是生成并返回一个完成替换操作的新字符串。你之前的代码仅调用了replace()但没有接收它的返回值,原变量clubs_ascii自然不会有任何变化。
另外需要注意:如果random_number是整数类型,必须先转换为字符串才能作为replace()的第二个参数,否则会抛出类型错误。
解决代码示例
import random clubs_ascii = """ _____ |V . | | /.\ | |(_._)| | | | |____V| """ # 生成1-10之间的随机数字并转为字符串 random_number = str(random.randint(1, 10)) # 将replace的返回值重新赋值给原变量 clubs_ascii = clubs_ascii.replace("V", random_number) print(clubs_ascii)
运行这段代码后,扑克牌ASCII里的"V"会被替换成随机数字,比如输出可能是:
_____ |4 . | | /.\ | |(_._)| | | | |____4| ``` 内容的提问来源于stack exchange,提问作者some_user_3
相关产品推荐
相关产品推荐

