【发布时间】:2020-04-02 22:07:18
【问题描述】:
import random
d = {}
with open('StatesCapitals.txt') as f:
for line in f:
key, value = line.split(',')
d[key] = value
HI = random.choice(list(d.keys()))
print(HI)
answer = (d[HI])
print (answer)
StudentAnswer = (input('Type your answer: '))
if answer.lower() == StudentAnswer.lower():
print('Correct!')
else:
print('Wrong.')
这将从我的文件中打印出一个随机选择的州,并打印出该州的国会大厦,这是问题的答案。无论我是否输入正确答案,我总是从 else 语句中收到“错误”,而且我似乎无法弄清楚原因。
【问题讨论】:
-
你能提供样本输入(包括文件)吗?顺便说一句,你不需要随机选择列表的键,你可以做
answer = random.choice(d)。 -
你可能有一些额外的空格,试试
if answer.strip().lower() == StudentAnswer.strip().lower() -
我们都编写了不符合我们预期的代码。当你学习编程时,你只需要接受这个事实。您还需要学习如何调试代码以发现缺陷并修复它们。阅读this article 以获取有关如何调试代码的提示。我每天都使用这些技术来找出我编写的代码(或其他人编写的代码)中的问题。作为一名初出茅庐的程序员,它们是您早期教育的重要组成部分。
-
这些值有一个尾随换行符 (
\n),这导致了不匹配。
标签: python python-3.x if-statement input equals