【问题标题】:Arthimatic Quiz Not Accepting Correct Answers算术测验不接受正确答案
【发布时间】:2015-02-11 14:57:01
【问题描述】:

我正在尝试做一个算术测验,但是遇到了这个问题:即使我输入了正确的答案,它似乎也忽略了正确的答案代码并直接进入了错误的答案代码。基本上,它不接受任何正确答案。

import random
num1 = (random.randrange(10))
num2 = (random.randrange(10))
correct1 = (num1*num2)

ans1 = input("What is " + str(num1) + " multiplied by " + str(num2) + "? ")

if ans1 == correct1:
    print("Correct! ")

if ans1 != correct1:
    print(" Incorrect. ")
    print("  The correct answer was " + str(ans1))

运行时,我得到如下信息:

What is 3 multiplied by 0? 0
    Incorrect. 
        The correct answer was 0

请注意答案和我的输入是如何相同的,但它运行代码以获得错误答案。谁能帮我解决这个问题?我正在使用 Python 3.4。

【问题讨论】:

  • 因为'0' != 0 - input 给你一个字符串
  • 不要在问题中添加 "已回答",接受答案会将其标记为已回答。
  • 还要注意您将用户的输入打印为“正确答案”

标签: python python-3.x python-3.4


【解决方案1】:

3 不等于 "3"。调用input(在 Python3 中)的结果是字符串,而不是数字。

在用户输入时调用int

...

ans1 = input("What is " + str(num1) + " multiplied by " + str(num2) + "? ")
ans1 = int(ans1)

...

【讨论】:

    【解决方案2】:
    if int(ans1) == correct1:
        print("Correct! ")
    else:
        print(" Incorrect. ")
        print("  The correct answer was " + str(ans1))
    

    您必须将数字与数字进行比较。
    您在比较“3”与 3

    【讨论】:

      猜你喜欢
      • 2021-04-24
      • 2018-11-30
      • 2015-09-06
      • 2018-09-03
      • 1970-01-01
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 2020-09-21
      相关资源
      最近更新 更多