Python加减法数学题

这篇博客分享了作者如何使用Python为弟弟创建一个数学题解答程序。程序能生成加减混合的两数或三数算式,并检查用户输入的答案,最后进行答题统计和时间记录。文章还涉及了使用rich库美化输出和pyinstaller打包成exe文件的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家好!

这是我第一次发博客,如有优化空间,请各位在评论区大胆地提出建议!我会虚心接受的!

前言

最近一段时间,我亲爱的弟弟迷上了做数学题,天天缠着我妈出题给他,我妈被他搞得焦头烂额,便向我求助。我自告奋勇,要用Python帮她解决!

准备

解释器:Python 3.9.6(版本都没关系,是Python3.x就行)

IDE:VSCode

库:random、datetime、rich(为了美观)、pyinstaller

rich和pyinstaller是第三方库,所以要先在cmd中输入:

pip install rich
pip install pyinstaller

请一定要先看这篇文章来掌握rich库的用法。

等库下载完毕,就可以导入进去了。

import random
import datetime
from rich import print

导完了库,就可以开始掉头发写代码了

第一部分:初始化

我要在最后进行一个复盘,所以在前面先设好:

rightTimes = 0#答对题目数量
a = 0#数1
sign1 = 0#符号1
b = 0#数2
sign2 = 0#符号2
c = 0#数3
answer_right = 0#正确答案
answer_input = 0#输入答案

然后询问:

print("[bold magenta]请输入出题范围:[/bold magenta]",end = "")
size = int(input())
print("[bold magenta]请输入题目数量:[/bold magenta]",end = "")
times = int(input())

(因为rich我只导了print函数,所以input显示不出print可以显示出的漂亮的文本,我只能将print和input分开写)

这样,初始化就完毕了。

第二部分:创建算式

首先,我们要确定这个式子是两个数的还是三个数的:

control = random.randint(0,1)#控制变量control, 通过0和1来确定该算式为两数计算(0)还是三数计算(1)

然后生成数和符号:

a = random.randint(0,size)
sign1 = random.randint(0,1)
if sign1 == 0:
    sign1 = "+"
else:
    sign1 = "-"
if sign1 == "-":
    if a == 0:
        b = 0
    else:
        b = random.randint(0,a)
else:
    b = random.randint(0,size)
if control == 1:
    sign2 == random.randint(0,1)
    if sign2 == 0:
        sign2 = "+"
    else: 
        sign2 = "-"
    if sign1 == "-" and sign2 == "-":#控制c的范围
        c = random.randint(0,a-b)
    elif sign1 == "-" and sign2 == "+":
        c = random.randint(0,size)
    elif sign1 == "+" and sign2 == "-":
        if a+b > size:
            c = random.randint(0,size)
        else:
            c = random.randint(0,a+b)
  
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值