我正在尝试使用Python3在我的游戏中制作设备系统,该系统通常运行良好,但是可计数的值存在小问题-虽然普通物品可以单独存储,但是像金钱这样的东西绝对不能。我制作了添加脚本的脚本,但仍然缺少一件事。
所以,我们有一个列表:
chest = ["500 $","shotgun","book","whatever else"]
问题是:如何检查chest
列表中是否有$
,然后在$
字符之前提取值(在上述示例中, 500
)?
预先感谢
答案 0 :(得分:2)
有了列表理解,就很简单:
>>> [int(item.strip(' $')) for item in chest if '$' in item]
[500]
答案 1 :(得分:0)
更好的是,为您的游戏制作一个有金钱和物品属性的Chest类:
class Chest:
def __init__(self,money,*items):
self.money = money
self.items = list(items)
def add_item(self,item):
self.items.append(item)
def add_money(self,money):
self.money+=money
然后,您可以使用一定数量的金钱和物品来初始化箱子
chest = Chest(500,'cat','gold bar','sword')
您可以使用chest.money
访问金额。您可以使用chest.items
访问项目。您可以添加一个项目:
chest.add_item('aardvark')
要查看它,请运行chest.items
。您也可以使用chest.add_money(200)
添加200美元。
面向对象的编程:)