我正在创建一个创建随机问题的数学测试程序,我要求用户输入答案,并使用正确的答案检查答案并给出输出。
id = (bar["id"] as? Int)!
name = (bar["name"] as? String)!
adress = (bar["address"] as? String)!
url = (bar["url"] as? String)!
image_url = (bar["image_url"] as? String)!
tags = (bar["tags"] as? Bool)!
latitude = (bar["latitude"] as? Double)!
longitude = (bar["longitude"] as? Double)!
这是我不完整的代码。问题是即使有添加标记的问题并且用户输入正确的答案,程序仍然打印错误的输出(如果用户输入错误的答案应该打印的输出)请,任何帮助将不胜感激。提前谢谢。
答案 0 :(得分:1)
只需更改此行:
answer = input("\n Enter answer")
对此:
answer = int(input("\n Enter answer"))
原因是您比较str
和int
。
例如
如果是num1 = 5
和num2 = 5
correct
将等于5+5
或10
。
但是,answer
将等于字符串"10"
。
因此,当您去测试correct
和answer
之间的平等时,您正在比较"10" == 10
当然是False
。因此,您需要将字符串answer
类型转换为int
,因为input
始终返回一个字符串。这导致10==10
True
。