Python 3.7.2 Elif仅在if语句时不起作用

时间:2019-02-19 01:15:57

标签: if-statement python-3.7

当我打印字典d时,只有white变成了Mindful,其余的保留为颜色。

import random

clrs = ['white', 'blue', 'black', 'purple', 'pink', 'yellow']
d = {}

while True:
    spawn = int(input('enter how many creatures to spawn: '))
    for x in range(spawn):
        clr = random.choice(clrs)
        print (clr)
        if clr=='white':
            clr='Mindful'
        elif clr=='blue':
            clr=='Anima'
        elif clr=='black':
            clr=='Dimension'
        elif clr=='purple':
            clr=='Enigma'
        elif clr=='pink':
            clr=='Light'
        elif clr=='yellow':
            clr=='Golem'
        else:
            print ('wtf how have you done this')
        d["ball{0}".format(x)]=clr
    print (d)

1 个答案:

答案 0 :(得分:0)

clr=='Anima'
   ^^

您是否认为这实际上会更改 clr?我想不是:-)

也许=在这里可能会更好(其他所有非白人也可能更好。


有关更多详细信息,请参见以下记录,==构成一个表达式,而=分配:

>>> xyzzy = 'plugh'
>>> xyzzy == 'twisty' ; print(xyzzy)
False
plugh
>>> xyzzy = 'twisty' ; print(xyzzy)
twisty