小编Cri*_*ian的帖子

如何用更简洁的内容替换所有这些“if...elif...else”语句?

有没有办法减少elif我的陈述中的内容?在另一个问题中,我问有人说我的代码存在冗余,而且确实如此。我对 python 和编码还比较陌生,当我查找内容时,它总是有点难以理解。

这是我正在讨论的代码块:

(如果需要的话我可以发布其余的代码)

if (random_mon_name.lower()=='normal'):
    rangen_mon_name = random.choice(mon_name_type_NORMAL)
    break
elif (random_mon_name.lower()=='fire'):
    rangen_mon_name = random.choice(mon_name_type_FIRE)
    break
elif (random_mon_name.lower()=='water'):
    rangen_mon_name = random.choice(mon_name_type_WATER)
    break
elif (random_mon_name.lower()=='grass'):
    rangen_mon_name = random.choice(mon_name_type_GRASS)
    break
elif (random_mon_name.lower()=='electric'):
    rangen_mon_name = random.choice(mon_name_type_ELECTRIC)
    break
elif (random_mon_name.lower()=='ice'):
    rangen_mon_name = random.choice(mon_name_type_ICE)
    break
elif (random_mon_name.lower()=='fighting'):
    rangen_mon_name = random.choice(mon_name_type_FIGHTING)
    break
elif (random_mon_name.lower()=='poison'):
    rangen_mon_name = random.choice(mon_name_type_POISON)
    break
elif (random_mon_name.lower()=='ground'):
    rangen_mon_name = random.choice(mon_name_type_GROUND)
    break
elif (random_mon_name.lower()=='flying'):
    rangen_mon_name = random.choice(mon_name_type_FLYING)
    break
elif (random_mon_name.lower()=='psychic'):
    rangen_mon_name = random.choice(mon_name_type_PSYCHIC)
    break
elif (random_mon_name.lower()=='bug'):
    rangen_mon_name = random.choice(mon_name_type_BUG) …
Run Code Online (Sandbox Code Playgroud)

python if-statement list python-3.x

1
推荐指数
2
解决办法
599
查看次数

标签 统计

if-statement ×1

list ×1

python ×1

python-3.x ×1