吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6411|回复: 29
收起左侧

[Python 转载] 小学数学练习题

[复制链接]
basfan 发表于 2020-3-23 15:37
在家里,无聊给孩子写的一个python小程序,目的是练习加减法,乘除法因为孩子只会2和3的,所以只出2和3的题做,代码可根据需要自行任意修改

上代码:
[Python] 纯文本查看 复制代码
import os
import random
import time

def add():
    os.system("cls")
    os.system("color 0a")
    a=random.randint(1,hard/2)
    b=random.randint(1,hard/2)
    global right_num
    answer=int(input('\n\n{}+{}='.format(a,b)))
    if answer==a+b:
        right_num+=1
        print('\n回答正确!' )
        time.sleep(1)
    else:
        print('\n回答错误!')
        time.sleep(1)

def minus():
    os.system("cls")
    os.system("color 0a")
    a=random.randint(1,hard)
    b=random.randint(1,hard)
    global right_num
    if(a<b):
        a,b=b,a
    answer=int(input('\n\n{}-{}='.format(a,b)))
    if answer==a-b:
        right_num+=1
        print('\n回答正确!')
        time.sleep(1)
    else:
        print('\n回答错误!')
        time.sleep(1)

def by():
    a=2
    b=random.randint(1,10)
    answer=int(input('\n\n{}×{}='.format(a,b)))
    global right_num
    if answer==a*b:
        right_num+=1
        print('\n回答正确!')
        time.sleep(1)
    else:
        print('\n回答错误!')
        time.sleep(1)

def divide():
    a=random.randint(2,20)
    b=2
    global right_num
    if(a<b):
        a,b=b,a
    while a%b!=0:
        a=random.randint(2,20)
        b=2
    answer=int(input('\n\n{}&#10135;{}='.format(a,b)))
    if answer==a/b:
        right_num+=1
        print('\n回答正确!')
        time.sleep(1)
    else:
        print('\n回答错误!')
        time.sleep(1)

def caishuzi():
    os.system("cls")
    os.system("color 0a")
    num=random.randint(1,100)
    n=1
    print("我脑中有一个1到100之间的整数\n\n有本事猜猜我脑子里的数字是多少?\n\n猜猜我脑中的数字是多少?\n\n")
    while True:
        guess=int(input("猜猜看:"))
        if guess>100 and guess<0:
            print("都告诉你0到100的数了,你还能瞎猜!")
        if guess>num:
            print("你猜的数太大了\n")
            n+=1
        elif guess<num:
            print("你猜的数太小了\n")
            n+=1
        elif guess==num:
            if(n<8):
                print("你太聪明了!,猜了"+str(n)+"次居然就猜中了!")
                break
            elif(n<15 and n>8):
                print("你猜对了!一共猜了"+str(n)+"次,还算一般吧")
                break
            elif(n>15):
                print("真不容易,你居然还能猜对,你居然猜了"+str(n)+"次才能猜对")
                break
    print("所有游戏到此结束了,看电脑时间也不短了,休息一会吧!")
    input("")


right_num=0
mode=int(input('输入想进行练习的运算:\n1:加法\n2:减法\n3:乘法(仅包含2的乘法)\n4:除法(仅包含2的除法)\n请输入:'))
while mode<1 or mode>4:
    os.system("cls")
    mode=int(input('\n模式选择错误!请重新输入!\n\n输入想选择的运算\n1:加法\n2:减法\n3:乘法(仅包含2的乘法)\n4:除法(仅包含2的除法)\n请输入:'))


os.system("cls")
num=int(input('准备练习的次数:'))
while num<5 or num>50:
    os.system("cls")
    num=int(input('最少练习5次!最多练习50次,请重新输入!\n\n输入准备进行的练习次数:'))

os.system("cls")
if mode==1 or mode==2:
    hard=int(input("准备练习多少以内的加减法?"))
    while hard<20 or hard>200:
        hard=int(input("难度只能选择20以上,200以内的\n\n准备练习多少以内的加减法?"))


os.system("cls")
print("\n练习即将开始,请认真答题!")
time.sleep(2)
for i in range(num):
    if mode==1:
        os.system("cls")
        os.system("color 0a")
        print('\n\n第%d道题:' % (i+1))
        add()
    elif mode==2:
        os.system("cls")
        os.system("color 0a")
        print('\n\n第%d道题:' % (i+1))
        minus()
    elif mode==3:
        os.system("cls")
        os.system("color 0a")
        print('\n\n第%d道题:' % (i+1))
        by()
    elif mode==4:
        os.system("cls")
        os.system("color 0a")
        print('\n\n第%d道题:' % (i+1))
        divide()
        
time.sleep(1)       
print("\n\n本次总共练习了{}道题\n\n其中正确了{}道题\n\n正确率是{}%".format(num,right_num,right_num/num*100))
input()
time.sleep(2)
if right_num==num and num>=20:
    jl=int(input("\n\n哇塞!刚发现你居然考了满分!!!奖励关要不要玩一把?猜数字游戏哦!\n1、玩一把\n2、累了,不想玩了。\n请选择:"))
    if jl==1:
        caishuzi()
    else:
        print("真遗憾,再见啦!\n下次想玩,记得一定要考满分哦!")
        input()





运行时的图片:
小学数学练习题.gif


成品:
小学数学练习题.zip (1.6 KB, 下载次数: 100)

免费评分

参与人数 5吾爱币 +6 热心值 +5 收起 理由
女萝岩 + 1 + 1 我很赞同!
qianeymax6274 + 2 + 1 谢谢@Thanks!
xinrya + 1 + 1 热心回复!
zz08808 + 1 + 1 热心回复!
威风的黑龙 + 1 + 1 竟然是给女儿的礼物,有心

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| basfan 发表于 2020-3-23 15:59
探玄珠 发表于 2020-3-23 15:53
我替小学生们谢谢你。

我是给我女儿写的,还没上1年级的女儿。。。。。。乘法口诀不全(故意的,因为她不会背),自己修改下代码可以补全。加减法倒是常用

孩子刚开始玩时候玩这个游戏,会很兴奋,但一段时间后就用不着这个了。因为...

我用扑克牌发明了一个新游戏:

经常跟孩子玩“五张牌”游戏(自己发明的):
摆出来5张牌,加减(不含乘除),谁凑够10就拿走,一张牌只能用一次,每一组放一摞,最后数数谁凑十的张数多谁赢(张数多就是可以让你用更多牌凑10,而不是简单的两个数加法,因为允许加减,孩子最高纪录五张牌凑够10,其实锻炼的就是连加连减和加减混合运算)
qianeymax6274 发表于 2020-3-23 15:38
 楼主| basfan 发表于 2020-3-23 15:44
qianeymax6274 发表于 2020-3-23 15:38
我咋看不懂啊,难啊,

倒不是多难,都是最基本的,我也是初学者,这是几个月前写的代码,我看很多人写的都比我强,我没系统学GUI界面呢,所以我写的代码一般没有图形界面。。。抱歉!
 楼主| basfan 发表于 2020-3-23 15:48
刚才我自己又看了一下自己几个月前写的东西,突然发现写的好“青涩”,最主要的是不利于阅读,哈!抱歉,几个月前的东西,想拿来骗骗分,怕到时候再清理账号把我清理了
qianeymax6274 发表于 2020-3-23 15:48
basfan 发表于 2020-3-23 15:44
倒不是多难,都是最基本的,我也是初学者,这是几个月前写的代码,我看很多人写的都比我强,我没系统学GU ...

你学啥专业的啊,亲
yks1985 发表于 2020-3-23 15:49
有点意思。。。随机生成
 楼主| basfan 发表于 2020-3-23 15:50
qianeymax6274 发表于 2020-3-23 15:48
你学啥专业的啊,亲

我不好意思说我是学计算机的。但确实是真的!
hnwang 发表于 2020-3-23 15:51
感觉可以再完善下 加个界面 可以选择一次出5道或者10道题 就基本能满足日常需求了 楼主加油
探玄珠 发表于 2020-3-23 15:53
我替小学生们谢谢你。
qianeymax6274 发表于 2020-3-23 15:53
basfan 发表于 2020-3-23 15:50
我不好意思说我是学计算机的。但确实是真的!

我私信你了,私聊吧  你微信多少, 我加你
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 12:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表