如何在测验游戏中生成新的算术练习

时间:2015-12-28 07:24:29

标签: python loops python-3.x math text

我正在编写一个Python数学游戏,其中程序会询问一个额外的问题,用户必须得到正确的答案才能继续。我的问题是,当用户得到最后一个时,如何让程序生成一个新的数学问题?

import random

firstNumber = random.randint(1, 50)
secondNumber = random.randint(1, 50)
result = firstNumber + secondNumber
result = int(result)
print("Hello ! What\'s your name ? ")
name = input()
print("Hello !"+" "+ name)
print("Ok !"+" "+ name +" "+ "let\'s start !")
print("What is"+ " " + str(firstNumber) +"+"+ str(secondNumber))
userAnswer = int(input("Your answer : "))
while (True) :
    if (userAnswer == result):
        print("Correct")
        print("Good Job!")
        break
    else:
        print("Wrong\n")
        userAnswer = int(input("Your answer : "))
input("\n\n Press to exit")

3 个答案:

答案 0 :(得分:0)

这应该让你开始。 getnumbers()返回两个随机数,就像在脚本中一样。现在只需添加游戏代码即可。如果您有任何疑问,请与我联系!

import random

def getnumbers():
    a = random.randint(1, 50)
    b = random.randint(1, 50)
    return a, b

print("Math Game!")

while True:
    a, b = getnumbers()

    # game code goes here
    print("%d %d" % (a, b))

    input()

答案 1 :(得分:0)

使用一对嵌套循环实现游戏。在外部循环中,生成一个新的算术问题。在内循环中,不断询问用户猜测,直到他给出正确答案或决定通过输入空行退出。

import random

playing = True

while playing:
    # Generate a new arithmetic problem.
    a = random.randint(1, 50)
    b = random.randint(1, 50)
    solution = a + b
    print('\nWhat is %d + %d? (to quit, enter nothing)' % (a, b))

    # Keep reading input until the reply is empty (to quit) or the right answer.
    while True:
        reply = input()
        if reply.strip() == '':
            playing = False
            break
        if int(reply) == solution:
            print('Correct. Good job!')
            break
        else:
            print('Wrong. Try again.')

print('Thank you for playing. Goodbye!')

答案 2 :(得分:0)

这可能会做你想要的:

 import random

def make_game():
    firstNumber = random.randint(1, 50)
    secondNumber = random.randint(1, 50)
    result = firstNumber + secondNumber
    result = int(result)
    print("What is"+ " " + str(firstNumber) +"+"+ str(secondNumber))
    userAnswer = int(input("Your answer : "))
    while (True) :
        if (userAnswer == result):
            print("Correct")
            print("Good Job!")
            break
        else:
            print("Wrong\n")
            userAnswer = int(input("Your answer : "))

print("Hello ! What\'s your name ? ")
name = input()
print("Hello !"+" "+ name)
print("Ok !"+" "+ name +" "+ "let\'s start !")

while True:
    make_game()
    end = input('\n\n Press to "end" to exit or "enter" to continue: ')
    if end.strip() == 'end':
        break