python - python 测验的用户输入
问题描述
我正在尝试验证一些用户输入。我正在创建一个多答案测验,它允许用户回答 a、b、c 或 d。我正在尝试验证用户输入,因此如果他们不输入任何内容或其他字母,它会弹出允许他们再次回答相同的问题。但是,当我运行我的代码时,例如,如果用户要插入“g”,它会在终端中显示“你错了”并转到下一个问题。
def quiz_game():
questions_num = 0
score = 0
for key in questions:
print("...................")
print(key)
for x in answers[questions_num]:
print(x)
guess = input('Enter a, b, c or d: ')
validate_input(input)
if answer_input(guess, questions_num):
print('Your answer is correct')
questions_num += 1
score += 1
else:
print('Your answer is wrong')
questions_num += 1
points(score)
def validate_input(guess):
guess = ('Enter a, b, c or d: ')
while not guess:
print('Enter a, b, c or d: ')
解决方案
尝试进行这些修改,假设您的其他功能正常,它应该可以工作
def quiz_game():
questions_num = 0
score = 0
for key in questions:
print("...................")
print(key)
for x in answers[questions_num]:
print(x)
guess = input('Enter a, b, c or d: ')
validate_input(guess)
if answer_input(guess, questions_num):
print('Your answer is correct')
questions_num += 1
score += 1
else:
print('Your answer is wrong')
questions_num += 1
points(score)
def validate_input(guess):
suitable_answer = ['a', 'b', 'c', 'd']
while not guess in suitable_answer:
guess = input('Enter a, b, c or d: ')
推荐阅读
- python - 如何基于一个数据框中的一列和第二个数据框中的两列合并两个数据框
- azure-devops - Azure DevOps 任务控制选项:无法更改“运行此任务”下拉菜单
- python - 如何连接到本地运行的 MSSQL?
- ssis - 虽然将数据从 Excel 导入 SQL DB SSIS 显示整数列为 NULL
- android - 根据名称显示图像 (Kotlin)
- postgresql - Postgresql 的 URL 规范化
- c++ - 创建原始套接字客户端以连接到 Web 主机
- javascript - 用于下载的 XML 文件的编码
- r - 可以简化用于计算没有前瞻偏差的 Z 归一化的 R 函数吗?
- python-3.x - 如何使用 python 映射来自两个不同字符串的匹配字符的索引?