python - while 循环确实打印出不同的问题,但是,它完全忽略了 IF 语句
问题描述
while 循环确实打印出不同的问题,但是,它完全忽略了 IF 语句。
代码:
import random
min = 1
max = 4
myDict = {1: "What is the name of the world's tallest tower?" ,
2: "What is the best youtube channel ever?" ,
3: "When did Queen Victoria die?" ,
4: "What is the world's most active volcano?"}
while True:
question = print(myDict.get(random.randint(min, max)))
answer = input("ANSWER: ")
if question == myDict.get(1):
if answer == "Burg Khalifa":
print('Correct!')
else:
print('Incorrect!')
continue
continue
if question == myDict.get(2):
if answer == "Vat19" :
print('Correct!')
else:
print('Incorrect!')
continue
continue
if question == myDict.get(3):
if answer == "1901" :
print('Correct!')
else:
print('Incorrect!')
continue
continue
if question == myDict.get(4):
if answer == 'Mount Kilauea':
print('correct!')
else:
print('Incorrect!')
continue
continue
解决方案
问题是变量question
没有像您期望的那样被分配,而是分配了返回值print()
,(即None
)。您需要将其拆分如下 -
question = myDict.get(random.randint(min, max))
print(question)
推荐阅读
- json - Json parsing and mapping keys
- python - Apply a condition to a group and populate only some rows of a new column
- sql - 使用 sql 查询拉取公共 ID
- excel - 如何避免运行时错误 -2147221080 (800401a8):自动化错误?VBA
- ruby-on-rails - 升级到 pg 1.2.x 后出现符号查找错误
- python - 标准 Anaconda 安装程序中是否有转换地球坐标系的功能?
- bash - 通过搜索从字符串中提取 2 个字段
- python - rllib 中的“num_envs_per_worker”有什么作用?
- java - 采用非嵌套 JSON 字符串并构建 Json 嵌套字符串
- javascript - 触发循环生成的多个弹出窗口