您的位置:首页 > 编程语言 > Python开发

用Python给小宝做的数学四则运算_算术口算练习程序(后添加减乘除)

2012-03-04 17:50 337 查看
最近着迷上了 Python

Ruby没空搞…

用Python给小宝做的数学算数口算练习程序(2015年1月添加四则运算)!

给小宝做的口算游戏:

import string

import random

input=11

nums=10

num=0

righ1t=0 #分数#

flagwrong=0 #没错过

print "\e[1;34mThis text is bold blue.\e[0m\n"

print "一共有%d道题目:"%(num)

print "\e[33;45;1mBold yellow on magenta.\e[0m\n";

while True:

    flagwrong=0

    if num==nums:

        print "一共(1次就)做对了%d道/%d道 题目"%(righ1t,nums),

        if righ1t==10:

            print "你真棒啊! 100分啊!!!"

        elif righ1t>=8:

            print "你不错啊,80分以上啊!!!"

        else:

            print "还要加油哦!"

        break;

    else:

        num=num+1

    x=random.randint(1, 100)    #100以内的数字

    y=random.randint(1, 10)

    print ""

    symbol=random.randint(0,4)

    #symbol=3                    #测试除法#

    if 0==symbol:        #加法

        # 内循环-做题

        print "第%d题:%d+%d="%(num,x,y),

        input=raw_input()

        intp=string.atoi(input)

        print intp

        while intp!=(x+y):

            print "不对! %d+%d不等于%d"%(x,y,intp)

            flagwrong=1; #错过一次,就不能做成绩(分数)的增长了

            print "再算一遍,第%d题:%d+%d="%(num,x,y),

            input=raw_input()

            intp=string.atoi(input)

            if intp==x+y:

                break;

            continue;

        if intp == (x+y):

            print "对了! %d+%d就是等于%d"%(x,y,intp)

            if flagwrong==0:

                righ1t=righ1t+1

            continue;

        break;

    elif 1==symbol:        #减法

        # 内循环-做题

        if x<y: x01temp=x; x=y; y=x01temp;

        print "第%d题:%d-%d="%(num,x,y),

        input=raw_input()

        intp=string.atoi(input)

        print intp

        while intp!=(x-y):

            print "不对! %d-%d不等于%d"%(x,y,intp)

            flagwrong=1; #错过一次,就不能做成绩(分数)的增长了

            print "再算一遍,第%d题:%d-%d="%(num,x,y),

            input=raw_input()

            intp=string.atoi(input)

            if intp==x-y:

                break;

            continue;

        if intp == (x-y):

            print "对了! %d-%d就是等于%d"%(x,y,intp)

            if flagwrong==0:

                righ1t=righ1t+1

            continue;

        break;

    elif 2==symbol:        #乘法

        # 内循环-做题

        #if x<y: x01temp=x; x=y; y=x01temp;

        print "第%d题:%d*%d="%(num,x,y),

        input=raw_input()

        intp=string.atoi(input)

        print intp

        while intp!=(x*y):

            print "不对! %d*%d不等于%d"%(x,y,intp)

            flagwrong=1; #错过一次,就不能做成绩(分数)的增长了

            print "再算一遍,第%d题:%d*%d="%(num,x,y),

            input=raw_input()

            intp=string.atoi(input)

            if intp==x*y:

                break;

            continue;

        if intp == (x*y):

            print "对了! %d*%d就是等于%d"%(x,y,intp)

            if flagwrong==0:

                righ1t=righ1t+1

            continue;

        break;

    elif 3==symbol:        #除法

        # 内循环-做题

        if x<y: x01temp=x; x=y; y=x01temp;

        print "第%d题:%d/%d="%(num,x,y),

        print "商?:",

        

        input=raw_input()

        intp=string.atoi(input)

        print "余数是?:",

        input2yushu=raw_input()

        intp2yushu=string.atoi(input2yushu)

        print "商:",

        print intp,

        print "余数是:",

        print intp2yushu

        

        while x !=( ( intp * y)+intp2yushu ):

            print "不对! %d/%d不等于商%d,余%d  !"%(x,y,intp,intp2yushu)

            flagwrong=1; #错过一次,就不能做成绩(分数)的增长了

            print "再算一遍,第%d题:%d/%d的商=?"%(num,x,y),

            input=raw_input()

            intp=string.atoi(input)

            print "余?=",

            input2yushu=raw_input()

            intp2yushu=string.atoi(input2yushu)

        

            if x ==( intp*y + intp2yushu ):

                break;

            continue;

        if x == ( (intp*y)+intp2yushu ):

            print "对了! %d/%d就是等于商%d,余%d !"%(x,y,intp,intp2yushu)

            if flagwrong==0:

                righ1t=righ1t+1

            continue;

        break;

#100以内的 加法/减法/乘法/除法

------------------------------------------------------------------------

“缩进问题”暂时用 选则(选灰)然后用<Tab>键实现缩进……

缩进还是问题啊!

希望以后 Python 能添加  {}(代码块,或者 : 用  “end”实现代码块的结束……而不是强制缩进!

=====================================================================

import string

import random

input=11

nums=10

num=0

righ1t=0 #分数#

flagwrong=0 #没错过

print "\e[1;34mThis text is bold blue.\e[0m\n"

print "一共有%d道题目:"%(num)

print "\e[33;45;1mBold yellow on magenta.\e[0m\n";

while True:

    flagwrong=0

    if num==nums:

        print "一共(1次就)做对了%d道/%d道 题目"%(righ1t,nums),

        if righ1t==10:

            print "你真棒啊! 100分啊!!!"

        elif righ1t>=8:

            print "你不错啊,80分以上啊!!!"

        else:

            print "还要加油哦!"

        break;

    else:

        num=num+1

    x=random.randint(1, 10)

    y=random.randint(1, 10)

    print ""

    print "第%d题:%d+%d="%(num,x,y),

    input=raw_input()

    intp=string.atoi(input)

    print intp

    while intp!=(x+y):

        print "不对! %d+%d不等于%d"%(x,y,intp)

        flagwrong=1; #错过一次,就不能做成绩(分数)的增长了

        print "再算一遍,第%d题:%d+%d="%(num,x,y),

        input=raw_input()

        intp=string.atoi(input)

        if intp==x+y:

            break;

        continue;

    if intp == (x+y):

        print "对了! %d+%d就是等于%d"%(x,y,intp)

        if flagwrong==0:

            righ1t=righ1t+1

        continue;

    break;

#先做的 10以内的 加法……

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python input import 游戏