循环会产生数学问题,直到被告知停止

时间:2015-06-23 02:52:16

标签: python loops math random

我正在学习如何使用随机和数学函数,但我从来没有真正理解循环。所以我要说我需要一个循环来询问随机数学问题,直到被告知停止。对于像0到9这样的数字添加之类的简单内容,我如何编写一个不断产生问题的循环。 这是它的外观示例:

Math()
Are you ready? yes 
0 + 5 = 5
4 + 9 = 13
3 + 2 = 89
7 + 7 = 14 
5 + 4 = 9
1 + 8 = stop

到目前为止,我有这个,但我不知道如何制作循环:

def Math():
    ready=input('Are you ready?')
    num1 = int(random.randint(0,10))
    num2 = int(random.randint(0,10))
    if ready = 'yes':
        while result != 'stop':
            num1+'+'+num2 = result

老实说,我不知道如何制作一个while循环。请帮我。 谢谢

2 个答案:

答案 0 :(得分:0)

我想你想要的是什么:
1.打印#num; + num2 ='
2.从键盘获取result 3.循环直到result停止'

def Math():
    ready = raw_input('Are you ready?')
    if ready != 'yes':
        return
    while True:
        num1 = int(random.randint(0,10))
        num2 = int(random.randint(0,10))
        result = raw_input('%d + %d = ')
        if result == 'stop':
            return

答案 1 :(得分:0)

你错过了几件事。

  • 您需要检查ready == 'yes',而不是分配ready = 'yes'
  • 您还需要在循环中生成新的数字num1num2,以便每次都获得新的数字。
  • 您还需要每次都在循环内询问用户的答案。现在,result在您的代码中无处不在。
  • 您无需将random.randint的结果投射到int,它已经是int,因此名称为randint
import random

def Math():
    if raw_input('Are you ready? ') != 'yes':
        return
    while True:
        num1 = random.randint(0,10)
        num2 = random.randint(0,10)
        result = raw_input('%d + %d = ' % (num1, num2))
        if result == 'stop':
            break

if __name__ == '__main__':
    Math()