首页 > 其他分享 >数学口算练习器制作

数学口算练习器制作

时间:2024-09-02 15:56:31浏览次数:6  
标签:break sg random 练习器 数学 str 100 制作 event


准备

好久没有更新了,这一次我们来制作数学口算练习器,先win+r输入cmd,pip install PySimpleGUI,这样,图形化模块就安装好了,接下来我们来制作数学口算练习器。

制作

先引入模块PySimpleGUI(图形化模块)和random(随机数模块):

import PySimpleGUI as sg  
import random

然后进行程序初始化

while 1==1:
    lsls=0
    tctc=0
    if 1==1:
        #------------图形化界面设计——————————————————
        layout=[

        [sg.Text("欢迎来到数学闯关小游戏",relief='ridge',border_width=5,font=('华文彩云',15))],
        [sg.Button('初级'),sg.Button('中级'),sg.Button('高级'),sg.B("帮助"),sg.B("退出")]
        ]


        window=sg.Window('数学闯关',layout)
         #------------图形化界面设计结束——————————————————
        #出题初始化
        while True:
            event,values=window.read()
            if event==None:
                tctc=1
                break
            if event=='初级':
                jia1=20
                jian1=20
                jia2=20
                jian2=20
                sjsj=2
                break
            if event=='中级':
                jia1=100
                jian1=100
                jia2=100
                jian2=100
                chen1=10
                chen2=10
                sjsj=3
                break
            if event=="高级":
                jia1=1000
                jian1=1000
                jia2=1000
                jian2=1000
                chen1=100
                chen2=10
                chu1=100
                chu2=10
                sjsj=4
                break
            if event=="退出":
                tctc=1
                break
            if event=="帮助":
                sg.popup("数学闯关小游戏;\n初级为20以内的加减法;\n中级为100以内的加减及10以内乘法;\n高级为100以内加减及100*10以内的乘除法。",title="数学闯关")
        window.close()
        if tctc==1:
            break

出题:

#接在while True下面  
    if lsls==0:
        dui=0
        zong=0
        qqq=0
        while 1==1:
            a=random.randint(1,sjsj)
            if a==1:
                b=random.randint(0,jia1)
                c=random.randint(0,jia2)
                d=str(b)+"+"+str(c)+"="
                e=b+c
            elif a==2:
                b=random.randint(0,jian1)
                c=random.randint(0,jian2)
                if b-c<0:
                    while b-c<0:
                        b=random.randint(0,jian1)
                        c=random.randint(0,jian2)
                d=str(b)+"-"+str(c)+"="
                e=b-c
            elif a==3:
                b=random.randint(0,chen1)
                c=random.randint(0,chen2)
                d=str(b)+"X"+str(c)+"="
                e=b*c
            elif a==4:
                e=random.randint(0,chu1)
                c=random.randint(1,chu2)
                b=e*c
                d=str(b)+"/"+str(c)+"="
            zong+=1  
            layout=[

            [sg.T("             "),sg.Text("欢迎来到数学闯关小游戏",relief='ridge',border_width=5,font=('华文彩云',15))],
            [sg.Text(d),sg.InputText(key="-Q-")],
            [sg.Button('提交',bind_return_key=True),sg.Button('跳过'),sg.Button('退出')]
            ]


            window=sg.Window('数学闯关',layout)

判断对错

while True:
                event,values=window.read()
                if event==None:
                    window.close()
                    sg.popup("答题报告)答对题数:"+str(dui)+"总题数"+str(zong))
                    qqq=1
                    break
                if event=='提交':
                    
                    if values["-Q-"]==str(e):
                        sg.popup("恭喜你,答对了! ok进入下一关~")
                        dui+=1
                        break
                    else:
                        sg.popup("很遗憾,答错了! ok进入重来~~")
                if event=='退出':
                    window.close()
                    sg.popup("答题报告)答对题数:"+str(dui)+",总题数:"+str(zong)+",百分比:"+str(dui/zong*100)+"%",title="答题报告")
                    qqq=1
                    break
                if event=="跳过":
                    break
            if qqq==1:
                break
            window.close()

写在最后

好了,本片文章就到这里了,如果图形化不太懂的可以参照我以前的文章,再见。

标签:break,sg,random,练习器,数学,str,100,制作,event
From: https://blog.51cto.com/u_16985041/11898628

相关文章

  • python计算器制作
    好了,本期我们来制作一个计算器,就像下面那个视频一样,方便快速,让我们来看看吧!视频让我们一起做一个吧引入模块我们需要先在cmd输入pipinstallPySimpleGUI,然后引入这个模块importPySimpleGUIassg2.初始化图形化界面定义界面布局:layout=[[sg.In(key="-I-",disabled=True,siz......
  • 通义千问项目制作
    这一次我们来做一个集成了通义千问的程序,里面还有计算器、翻译等,通义千问支持播报,输入支持图像和文字。1.申请和开通1.1.文字识别开通首先,打开文字识别_OCR文字识别_图片识别文字_数据智能-阿里云(aliyun.com)页面并登陆阿里云账号,点击,文字识别服务。接下来在RAM访问控制(aliyu......
  • 使用zig语言制作简单博客网站(七)右边栏分类点击和文章搜索
    分类点击事件处理后端代码sqlite数据库article表新增cate_name字段CREATETABLEarticle(idINTEGERPRIMARYKEYAUTOINCREMENT,titleVARCHAR(1024)NOTNULL,descriptionVARCHAR(1024),contentTEXTNOTNUL......
  • 西门子HMI制作数码管显示数字
    因为前一阵子做了停车库的相关案例,突发奇想在HMI上做一个数码管显示剩余车辆的信息,今天上午没什么事情,索性就记录一下制作过程。数码管显示数字原理这是一个经典的数码管图片,我们对每个边编一个号码,想让他显示数字,就是控制对应的几个编号亮灭。比如数字‘0’,我们只需要让7......
  • 领航创意制作,智象未来(HiDream.ai)推动视觉内容产业迈向新高地
    近日,智象未来(HiDream.ai)推出的“智象大模型2.0”在行业内引起了广泛关注。这一先进技术能够在极短的时间内,高效地产出大量创意十足的照片和视频,显著提高了创作效率并大幅降低了制作成本。它的出现不仅拓宽了人们对机器生产力的想象空间,同时也满足了市场对高品质内容的大量需求......
  • uniapp [安卓苹果App端] - 最新实现“热更新“在线版本升级详细教程,支持后端服务器、
    前言网上的教程乱七八糟且都有各种残缺不全的问题,文本提供优质教程及可靠方案。在uni-appApp端(安卓APP|苹果APP)开发中,详解实现WGT热更新整个前端和后端操作全流程,制作wgt热更新包、制作新版本更新通知提示框或页面源码,支持推送弹框提示用户更新软件或应用后台"静默(......
  • 关于循迹小车制作中遇到的问题(C51)
    本博客记录本人在使用8051单片机开发4路红外传感器循迹小车时遇到的问题纯小白网上单独购买的51循迹模块,各种模块一般没有配杜邦线需要自己购买。网上购买的小车车模一般带的是可以装四个电池的电池盒,如果装南孚电池只有6v,可能无法同时驱动电机与循迹模块,而且电很快就用......
  • 【保奖思路】2024年数学建模国赛C题保奖资料获取入口(点个关注,后续会更新)
    您的点赞收藏是我继续更新的最大动力!一定要点击末文的卡片,那是获取资料的入口!现分享2023年高教社杯数学建模国赛C题保奖思路(部分)供大家学习:C 题蔬菜类商品的自动定价与补货决策问题 1 蔬菜类商品不同品类或不同单品之间可能存在一定的关联关系,请分析蔬菜各品类及单......
  • 【保奖思路】2024年数学建模国赛C题保奖资料获取入口(点个关注,后续会更新)
    您的点赞收藏是我继续更新的最大动力!一定要点击末文的卡片,那是获取资料的入口!现分享2023年高教社杯数学建模国赛C题保奖思路(部分)供大家学习:C 题蔬菜类商品的自动定价与补货决策问题 1 蔬菜类商品不同品类或不同单品之间可能存在一定的关联关系,请分析蔬菜各品类及单......
  • 【保奖思路】2024年数学建模国赛C题保奖资料获取入口(点个关注,后续会更新)
    您的点赞收藏是我继续更新的最大动力!一定要点击末文的卡片,那是获取资料的入口!现分享2023年高教社杯数学建模国赛C题保奖思路(部分)供大家学习:C 题蔬菜类商品的自动定价与补货决策问题 1 蔬菜类商品不同品类或不同单品之间可能存在一定的关联关系,请分析蔬菜各品类及单......