在家里,无聊给孩子写的一个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{}➗{}='.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()
运行时的图片:
成品:
小学数学练习题.zip
(1.6 KB, 下载次数: 100)
|