Python:为什么我的代码总是告诉我答案是错误的,而事实并非如此?
Python: why does my code keep telling me the answer is wrong when its not?
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 语句中收到 "wrong",我似乎无法弄清楚为什么。
example of what my StatesCapitals.txt looks like
遍历文件 returns 一个字符串末尾有一个换行符,所以你必须用 .strip()
删除它。您应该将循环中的第一行替换为 key, value = line.strip().split(',')
。
顺便说一句,你不需要 random.choice
列表的键,你可以 answer = random.choice(d)
.
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 语句中收到 "wrong",我似乎无法弄清楚为什么。
example of what my StatesCapitals.txt looks like
遍历文件 returns 一个字符串末尾有一个换行符,所以你必须用 .strip()
删除它。您应该将循环中的第一行替换为 key, value = line.strip().split(',')
。
顺便说一句,你不需要 random.choice
列表的键,你可以 answer = random.choice(d)
.