if-statement - Python 3.7.2 Elif 仅在 if 语句中不起作用
问题描述
当我打印字典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)
解决方案
clr=='Anima'
^^
你认为这实际上会 clr
变成别的东西吗?我想不是 :-)
也许=
在这里可能会更好(所有其他非白人也是如此。
有关更多详细信息,请参阅以下记录,在分配==
时形成表达式:=
>>> xyzzy = 'plugh'
>>> xyzzy == 'twisty' ; print(xyzzy)
False
plugh
>>> xyzzy = 'twisty' ; print(xyzzy)
twisty
推荐阅读
- sql - 选择行之间共享的上一个日期的所有值
- sql - SAS 到 TERADATA 时间戳格式
- ruby-on-rails - 如何在 rails docker 镜像中安装新的 gems 而无需重建它
- google-cloud-run - 请求在容器(应用程序)中成功完成后 1 分钟后始终返回 502
- node.js - 在nodejs上使用多核执行功能
- c# - 为 ComboBox 的 DataTable 中的现有项目设置默认值
- android - 当高度为 match_parent 时,回收器查看奇怪的行为
- python-3.x - PyOpenGL 相机/播放器
- boost - boost 1.69.0 和 openmpi 2.1.2 的奇怪问题
- python - 根据另一个列表中的值对列表进行排序