第一次在论坛上问问题,在寻找答案或线索时,我对我的特定问题没有运气。我是python的初学者,如果这意味着什么的话,那么任何帮助都是非常感谢的! 我只是想为我的TRPG写一个“战利品生成器”程序。 我已经弄清楚了我希望程序如何编译列表。 ...
#LISTS for storing loot based on rarity : YELLOW (COMMON) , GREEN (UNCOMMON) , RED (RARE)
# BLUE (ULTRA) , PURPLE (MYTHIC)
YELLOW = []
GREEN = []BlasterRifle = { 'name' : 'Blaster Rifle' , 'cost' : 350}
RED = []
BLUE = []
PURPLE = []
# test Dictionary to represent an ITEM
BlasterPistol = { 'name' : 'Blaster Pistol' , 'cost' : 250}
BlasterRifle = { 'name' : 'Blaster Rifle' , 'cost' : 350}
这个问题。。。每次它迭代项{}中的所有“数据”点时,它会打印两次项的“名称”
def lootMechanics(ITEM):
for data in ITEM:
if ITEM['cost'] == 250:
YELLOW.append(ITEM['name'])
#prints out to a list in a certain format with no brackets.
print(*YELLOW , sep = ' , ')
输出变为:
爆能枪,爆能枪 我只想让输出读取 爆能手枪
对不起,我不能评论,因为没有足够的声誉
问题是,如果
lootMechanism(ITEM)
函数的ITEM
参数是dict的列表,则输出不是异常使用
lootMechanism(ITEM)
函数的for循环有点问题。我认为应该是:如果您的
ITEM
列表在lootMechanism(ITEM)
函数中确实包含多个满足if
条件的dict,那么您将得到多个相同的名称如果您不希望这样的行为,那么我建议您使用
set()
对象来存储项的'name'
属性相关问题 更多 >
编程相关推荐