python之自动生成器(持续更新)

这篇博客介绍了Python用于自动创建小学生计算题、自动生成考生信息以及制作新年祝福的实现。文章包含源码、运行界面展示及解决ModuleNotFoundError错误的方法。用户可以根据输入数量自动生成考生信息并保存,同时展示了代码运行效果。
摘要由CSDN通过智能技术生成

Python之文章生成器
Python之文章生成器(升级版,也就是更傻瓜式运行)
狗屁不通文章生成器
Python之手把手教你自动获取青年大学习完成图片,并生成朋友圈截图

1、小学生计算题自动生成器

源码:

import random, os
import PySimpleGUI as sg
from docx import Document
from docx.shared import RGBColor, Pt, Mm, Inches
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.oxml.ns import qn

'''
该程序产生口算题doc文件:

'''
document = Document()

'''
生成随机数,默认产生2位数的随机数
'''


def randomtoNUM(bit=2):
    if bit == 2:
        return random.randint(10, 99)
    elif bit == 3:
        return random.randint(100, 999)
    elif bit == 1:
        return random.randint(1, 9)


'''
2位数减法(含退位)
'''


def chutijian():
    jia1_10 = random.randint(1, 9)
    jia1_1 = random.randint(0, 8)
    jia1 = int(str(jia1_10) + str(jia1_1))
    # print(8-int(str(jia1)[0]))
    jia2_max10 = int(str(jia1)[0]) - 1
    if jia2_max10 < 1:
        jia2_10 = jia2_max10
    else:
        jia2_10 = random.randint(0, jia2_max10)

    if int(str(jia1)[1]) + 1 >= 9:
        jia2_1 = 9
    else:
        jia2_1 = random.randint(int(str(jia1)[1]) + 1, 9)
    jia2 = int(str(jia2_10) + str(jia2_1))
    # print(eval("{} + {}".format(jia1,jia2)))

    return "{:<2d} - {:>2d}".format(jia1, jia2)


'''
2位数加法(含进位)
'''


def chutiAdd():
    jia1_10 = random.randint(1, 8)
    jia1_1 = randomtoNUM(1)
    jia1 = int(str(jia1_10) + str(jia1_1))
    # print(8-int(str(jia1)[0]))
    jia2_max10 = 8 - int(str(jia1)[0])
    if jia2_max10 <= 1:
        jia2_10 = abs(jia2_max10)
    else:
        jia2_10 = random.randint(1, jia2_max10)

    if 10 - int(str(jia1)[1]) >= 9:
        jia2_1 = 9
    else:
        jia2_1 = random.randint(10 - int(str(jia1)[1]), 9)
    jia2 = int(str(jia2_10) + str(jia2_1))
    # print(eval("{} + {}".format(jia1,jia2)))
    if random.randint(0, 1):
        return "{:<2d} + {:>2d}".format(jia1, jia2)
    else:
        return "{:<2d} + {:>2d}".format(jia2, jia1)


'''
1位数加法(含进位)
'''


def chuti1BitAddH():
    jia1 = randomtoNUM(1)
    jia2 = 10 - jia1  # 第二个数最小值

    if jia2 == 1:
        jia2 = 9
    else:
        jia2 = random.randint(10 - jia1, 9)

    if random.randint(0, 1):
        return "{:<2d} + {:>2d}".format(jia1, jia2)
    else:
        return "{:<2d} + {:>2d}".format(jia2, jia1)


'''
1位数加法(不含进位)
'''


def chuti1BitAdd():
    jia1 = random.randint(1, 8)
    jia2 = 9 - jia1  # 第二个数最大值

    if jia2 <= 1:
        jia2 = 1
    else:
        jia2 = random.randint(1, jia2)

    if random.randint(0, 1):
        return "{:<2d} + {:>2d}".format(jia1, jia2)
    else:
        return "{:<2d} + {:>2d}".format(jia2, jia1)


'''
1位数减法
'''


def chuti1Bitsub():
    jian1 = random.randint(2, 9)
    jian2 = jian1 - 1

    if jian2 <= 1:
        jian2 = 1
    else:
        jian2 = random.randint(1, jian2)

    return "{:<2d} - {:>2d}".format(jian1, jian2)

'''
产生2个相减需退位的数,即第1个数小于第二个数
'''
def gtTenSub():
    jia1 = random.randint(0, 8)
    jia2 = jia1+1

    if jia2 >= 9:
        jia2 = 9
    else:
        jia2 = random.randint(jia2, 9)

    return jia1, jia2

'''
产生2个相减不退位的数,第1个数大于第二个数
'''


def ltTenSub():
    jia1 = random.randint(2, 9)
    jia2 = jia1-1  # 第二个数最大值

    if jia2 <= 1:
        jia2 = 
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BugMiaowu2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值