【问题标题】:how do i increase the min and max on my number list?如何增加我的号码列表中的最小值和最大值?
【发布时间】:2015-06-02 21:09:33
【问题描述】:

我正在用 python 创建一个游戏,但是在创建关卡系统时遇到了麻烦。你看她的攻击我创建了一个从1(min)到10(max)的列表,对于她获得的每个级别,我希望列表的最小值和最大值增加1,但如果可能的话我应该怎么做?我在 python 3.2 中编码

char ={
    'atk':[1,10],
    'Hp':100,
    'name': 'Ruby',
    'Age': 1,
    'weapon': 'Scythe',
    'lvl': 1,
    'xp': 0,
    'nextlvl': 50,
    'stats': {
        'str': 1,
        'dex': 1,
        'vit': 1
}}
while char['xp'] >= char['nextlvl']:
    char['lvl'] += 1
    char['nextlvl'] = char['nextlvl'] * 3
    char['stats']['str'] +=1
    char['stats']['dex'] +=1
    char['stats']['vit'] +=1
    char['atk'] +=1 <-- my problems right here
    print('level:', char['lvl'],'Exp:', char['xp'],'nextlvl:', char['nextlvl'])
    print('STR:', char['stats']['str'], 'DEX:', char['stats']['dex'], 'VIT:', char['stats']['vit'])

【问题讨论】:

  • 为什么不使用一个值作为最小值,另一个作为最大值并且只使用密钥? d["atk_mn"] += 1;d["atk_mx"] += 1

标签: python python-3.2


【解决方案1】:

下面会做:

char['atk'] = [atk + 1 for atk in char['atk']]

您也可以单独增加两个数字(最小值和最大值):

char['atk'][0] = char['atk'][0] + 1
char['atk'][1] = char['atk'][1] + 1

如果您认为这不方便,您可能需要考虑将最小值和最大值存储在两个单独的字典条目中。

【讨论】:

    猜你喜欢
    • 2018-03-05
    • 1970-01-01
    • 2020-09-22
    • 2019-09-20
    • 1970-01-01
    • 2011-03-21
    • 2017-01-12
    • 1970-01-01
    相关资源
    最近更新 更多