【教学类-07-06】20230302《破译电话号码-图形篇(图形固定列不重复)》(三款输入版)

news2024/11/15 13:39:00

效果展示

1、适合中班默写学号——有姓名 有班级,无学号,适合中班幼儿

2、适合大班幼儿默写名字——有学号,有班级,无姓名,

  1. 适合初学者描字(小班、中班、大班)——名字、学号、班级都有(适合不会写的孩子描画名字、学号、班级)

背景需求:

昨天去中班带班,今天遇到这个中班的班主任。

“你有没有数学相关的打印的材料,就像昨天那种连连看一样的东西。我们孩子数学能力弱,计划里写的弱势项目,但是学习材料包上页就一点点数的东西,你有类似的学习材料”

她提出想要“数学类”的之类学具,比如ABCABC排序,我很高兴,用电脑展示了《彩色条》《数字卡》和《破译电话号码》

“ABAB涂色行吗?”“还有数字卡片”

中班老师连连说好,立马并对破译电话号码非常刚兴趣,要求最好破译电话号码用“图案”(不要数学加减法题)

我立马用UIBOT下载了他们班幼儿家长的手机号码,然后快速批量一套中班的《破译电话号码》。

由于一年没有用,调试半天都是报错,最终发现其中有些参数需要手动调整,我已经忘记好修改里面的某些参数了。为了方便一些,我搞了三个If。实现“姓名、学号、班级”任意出现。

终端输入:


'''
作者:阿夏
时间:2023年3月2日 破译电话号码-图形版-学号和班级(不需要分列,直接导入word)
'''
import openpyxl
from docx import Document
from docx.shared import Pt 
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.oxml.ns import qn
import os

classroom=input('班级名称(如中1)\n')
bao1=int(input('需要保留名字吗?是=1,否=2\n'))
bao2=int(input('需要保留学号吗?是=1,否=2\n'))
bao3=int(input('需要保留班级吗?是=1,否=2\n'))

print('----------第2步:新建一个临时文件夹------------')
# 新建一个”装N份word和PDF“的文件夹
os.mkdir(r'C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\零时Word')

print('------------读取excle表单--------------')
wb = openpyxl.load_workbook(r'C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\家长电话号码.xlsx')# wb=用openpyxl打开存有号码的ExcelEx
phone = wb.active #phone=获取wb里面的数据

print('------------读取 爸爸的手机号--------------')
symbol_1=['●','●','●', '●', '●', '●','●', '●','●','●','●']
father=[]
for i in list(phone.columns)[4]:# 第3列是爸爸的手机号    
    phonestr = str(i.value)# 电话字符串 = 第二列的数字的值的字符串形式
    print(phonestr)# 打印电话字符串
    # Phonenum1
    # 13512345678
    # 16556345690
    # 13724680156
    print('------------ 爸爸的手机号的数字全部写在一起--------------')
    
    col = 0 # 
    for k in phonestr:# 在电话字符串里面循环遍历 取各种数字
        if i.value!= 'Phonenum1':# 如果电话号码的值不等于'dad' 不要第一行C1
            if int(k) != 0:# 如果取出的数字不等于0  等于1-9
                str_temp =int(k) * symbol_1[col]#  结果等于 取出的数字的整数 乘以 符号列表的相应列数的符号(批量几个符号)
            else:# 如果取出的数字=于0
                str_temp = '零'# 0=零
            # print( str_temp)
            father.append(str_temp)                  
        col +=1           
print(father)
['●', '●●●', '●●●●●', '●', '●●', '●●●', '●●●●', '●●●●●', '●●●●●●', '●●●●●●●', '●●●●●●●●', '●', '●●●●●●', '●●●●●', '●●●●●', '●●●●●●', '●●●', '●●●●', '●●●●●', '●●●●●●', '●●●●●●●●●', '零', '●', '●●●', '●●●●●●●', '●●', '●●●●', '●●●●●●', '●●●●●●●●', '零', '●', '●●●●●', '●●●●●●']

print('------------读取  妈妈的手机号--------------')
mother=[]
symbol_2 = ['▲','▼','●','♦','■','▶','◀','◣','◥','◤','◢']# 
for j in list(phone.columns)[6]:
    phonestr = str(j.value)
    print(phonestr)
    # Phonenum2
    # 13214562358
    # 15615617891
    # 13123568210
    print('------------ 妈妈的手机号的数字全部写在一起--------------')
    col = 0#  第一个字符串的起始列 123数下去 mum电话的第一位数在第O列=15列
    for _ in phonestr[:]:
        if j.value != 'Phonenum2':
            if int(_) != 0:
                str_temp = int(_) * symbol_2 [col]  
            else:
                str_temp = '零'
            mother.append(str_temp) 
        col +=1            
print(mother)
# ['▲', '▼▼▼', '●●', '♦', '■■■■', '▶▶▶▶▶', '◀◀◀◀◀◀', '◣◣', '◥◥◥', '◤◤◤◤◤', '◢◢◢◢◢◢◢◢', '▲', '▼▼▼▼▼', '●●●●●●', '♦', '■■■■■', '▶▶▶▶▶▶', '◀', '◣◣◣◣◣◣◣', '◥◥◥◥◥◥◥◥', '◤◤◤◤◤◤◤◤◤', '◢', '▲', '▼▼▼', '●', '♦♦', '■■■', '▶▶▶▶▶', '◀◀◀◀◀◀', '◣◣◣◣◣◣◣◣', '◥◥', '◤', '零']

print('------------ 爸爸的手机号拆开成11个一组的列表--------------')
father_all=[]
for i in range(0,int(len(father)/11)):
    b=father[i*11:i*11+11]
    father_all.append(b)
print(father_all)
# [['●', '●●●', '●●●●●', '●', '●●', '●●●', '●●●●', '●●●●●', '●●●●●●', '●●●●●●●', '●●●●●●●●'], # ['●', '●●●●●●', '●●●●●', '●●●●●', '●●●●●●', '●●●', '●●●●', '●●●●●', '●●●●●●', '●●●●●●●●●', '零'],['●', '●●●', '●●●●●●●', '●●', '●●●●', '●●●●●●', '●●●●●●●●', '零', '●', '●●●●●', '●●●●●●']]

print('------------ 妈妈的手机号拆开成11个一组的列表--------------')
mother_all=[]
for i in range(0,int(len(mother)/11)):
    b=mother[i*11:i*11+11]
    mother_all.append(b)
print(mother_all)
# [['▲', '▼▼▼', '●●', '♦', '■■■■', '▶▶▶▶▶', '◀◀◀◀◀◀', '◣◣', '◥◥◥', '◤◤◤◤◤', '◢◢◢◢◢◢◢◢'],
#  ['▲', '▼▼▼▼▼', '●●●●●●', '♦', '■■■■■', '▶▶▶▶▶▶', '◀', '◣◣◣◣◣◣◣', '◥◥◥◥◥◥◥◥', '◤◤◤◤◤◤◤◤◤', '◢'], 
# ['▲',  '▼▼▼', '●', '♦♦', '■■■', '▶▶▶▶▶', '◀◀◀◀◀◀', '◣◣◣◣◣◣◣◣', '◥◥', '◤', '零']]



if bao1==1 and bao3==1:    # 需要姓名和班级   
    info='姓名+班级'
    print('------------读取 学号或者姓名--------------')
    N=[]
    for i in list(phone.columns)[2]:# 学号-0 姓名2   
        phonestr = str(i.value)# 电话字符串 = 第二列的数字的值的字符串形式
        N.append(phonestr)
    print(N)# ['N', '1', '11', '24']

    print('------------读取 班级--------------')
    C=[]
    for i in list(phone.columns)[1]:# 
        phonestr = str(i.value)# 电话字符串 = 第二列的数字的值的字符串形式
        C.append(phonestr)
    print(C)#['CLASS', '大七班', '大七班', '大七班']    

    print('------------ 数据导入word,字体设置--------------')
    from docxtpl import DocxTemplate
    import pandas as pd
    from docx2pdf import convert
    from docx.shared import RGBColor

    for y in range(0,int(len(father)/11)):      
        doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\破译电话号码模板(图案).docx')    
        wb = pd.read_excel(r'C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\家长电话号码.xlsx')   
        table = doc.tables[0] 

        print('------------学号\班级写入,字体设置--------------')
        n=N[y+1]
        run=table.cell(0,2).paragraphs[0].add_run(n)    # 这里的可以代表学号或者名字,把上面连接的数字改掉 姓名02 学号06 班级08(下面的数字也要改)
        run.font.name = '黑体'#输入时默认华文琥珀字体
        run.font.color.rgb = RGBColor(220,220,220) #设置颜色浅灰
        run.font.size = Pt(45)  #输入字体大小默认30号
        r = run._element
        r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
        table.cell(0,2).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中

        c=C[y+1]
        run=table.cell(0,8).paragraphs[0].add_run(c)    # 班级08
        run.font.name = '黑体'#输入时默认华文琥珀字体
        run.font.color.rgb = RGBColor(220,220,220) #设置颜色浅灰
        run.font.size = Pt(45)  #输入字体大小默认30号
        r = run._element
        r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
        table.cell(0,8).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中

        for nn in range(0,11):
            print('------------ 爸爸的手机号写入不同的word,字体设置--------------')
            f=father_all[y][nn]  
            print(f) 
            run=table.cell(2,nn).paragraphs[0].add_run(f)    # 在第该表格3行1列的单元格内输入“xxxx”
            run.font.name = '黑体'#输入时默认华文琥珀字体
            run.font.size = Pt(16)  #输入字体大小默认30号
            r = run._element
            r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
            table.cell(2,nn).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中

            print('------------ 妈妈的手机号写入不同的word,字体设置--------------')
            g=mother_all[y][nn]  
            print(g) 
            run=table.cell(5,nn).paragraphs[0].add_run(g)    # 在第该表格3行1列的单元格内输入“xxxx”
            run.font.name = '黑体'#输入时默认华文琥珀字体
            run.font.size = Pt(18)  #输入字体大小默认30号
            r = run._element
            r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
            table.cell(5,nn).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中 

        doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\零时Word\{}.docx'.format('%02d'%(y+1)))#保存为XX学号的电话号码word                   
    
        # docx 文件另存为PDF文件
        inputFile = r"C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\零时Word\{}.docx".format('%02d'%(y+1))  # 要转换的文件:已存在
        outputFile = r"C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\零时Word\{}.pdf".format('%02d'%(y+1))   # 要生成的文件:不存在
        # 先创建 不存在的 文件
        f1 = open(outputFile, 'w')
        f1.close()
        # 再转换往PDF中写入内容
        convert(inputFile, outputFile)

if bao2==1 and bao3==1:    # 需要学号和班级
    info='学号+班级'
    print('------------读取 学号或者姓名--------------')
    N=[]
    for i in list(phone.columns)[0]:# 学号-0 姓名2   
        phonestr = str(i.value)# 电话字符串 = 第二列的数字的值的字符串形式
        N.append(phonestr)
    print(N)# ['N', '1', '11', '24']

    print('------------读取 班级--------------')
    C=[]
    for i in list(phone.columns)[1]:# 
        phonestr = str(i.value)# 电话字符串 = 第二列的数字的值的字符串形式
        C.append(phonestr)
    print(C)#['CLASS', '大七班', '大七班', '大七班']    

    print('------------ 数据导入word,字体设置--------------')
    from docxtpl import DocxTemplate
    import pandas as pd
    from docx2pdf import convert
    from docx.shared import RGBColor

    for y in range(0,int(len(father)/11)):      
        doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\破译电话号码模板(图案).docx')    
        wb = pd.read_excel(r'C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\家长电话号码.xlsx')   
        table = doc.tables[0] 

        print('------------学号\班级写入,字体设置--------------')
        n=N[y+1]
        run=table.cell(0,6).paragraphs[0].add_run(n)    # 这里的可以代表学号或者名字,把上面连接的数字改掉 姓名02 学号06 班级08(下面的数字也要改)
        run.font.name = '黑体'#输入时默认华文琥珀字体
        run.font.color.rgb = RGBColor(220,220,220) #设置颜色浅灰
        run.font.size = Pt(45)  #输入字体大小默认30号
        r = run._element
        r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
        table.cell(0,6).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中

        c=C[y+1]
        run=table.cell(0,8).paragraphs[0].add_run(c)    # 班级08
        run.font.name = '黑体'#输入时默认华文琥珀字体
        run.font.color.rgb = RGBColor(220,220,220) #设置颜色浅灰
        run.font.size = Pt(45)  #输入字体大小默认30号
        r = run._element
        r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
        table.cell(0,8).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中

        for nn in range(0,11):
            print('------------ 爸爸的手机号写入不同的word,字体设置--------------')
            f=father_all[y][nn]  
            print(f) 
            run=table.cell(2,nn).paragraphs[0].add_run(f)    # 在第该表格3行1列的单元格内输入“xxxx”
            run.font.name = '黑体'#输入时默认华文琥珀字体
            run.font.size = Pt(16)  #输入字体大小默认30号
            r = run._element
            r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
            table.cell(2,nn).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中

            print('------------ 妈妈的手机号写入不同的word,字体设置--------------')
            g=mother_all[y][nn]  
            print(g) 
            run=table.cell(5,nn).paragraphs[0].add_run(g)    # 在第该表格3行1列的单元格内输入“xxxx”
            run.font.name = '黑体'#输入时默认华文琥珀字体
            run.font.size = Pt(18)  #输入字体大小默认30号
            r = run._element
            r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
            table.cell(5,nn).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中 

        doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\零时Word\{}.docx'.format('%02d'%(y+1)))#保存为XX学号的电话号码word                   
    
        # docx 文件另存为PDF文件
        inputFile = r"C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\零时Word\{}.docx".format('%02d'%(y+1))  # 要转换的文件:已存在
        outputFile = r"C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\零时Word\{}.pdf".format('%02d'%(y+1))   # 要生成的文件:不存在
        # 先创建 不存在的 文件
        f1 = open(outputFile, 'w')
        f1.close()
        # 再转换往PDF中写入内容
        convert(inputFile, outputFile)

if bao1==1 and bao2==1 and bao3==1:    # 三个信息都有
    info='姓名+学号+班级'
  
    print('------------读取 学号-------------')
    N=[]
    for i in list(phone.columns)[0]:# 学号-0 姓名2   
        phonestr = str(i.value)# 电话字符串 = 第二列的数字的值的字符串形式
        N.append(phonestr)
    print(N)# ['N', '1', '11', '24']

    print('------------读取 学号姓名--------------')
    Num=[]
    for i in list(phone.columns)[2]:# 学号-0 姓名2   
        phonestr = str(i.value)# 电话字符串 = 第二列的数字的值的字符串形式
        Num.append(phonestr)
    print(N)# ['N', '1', '11', '24']

    print('------------读取 班级--------------')
    C=[]
    for i in list(phone.columns)[1]:# 
        phonestr = str(i.value)# 电话字符串 = 第二列的数字的值的字符串形式
        C.append(phonestr)
    print(C)#['CLASS', '大七班', '大七班', '大七班']    

    print('------------ 数据导入word,字体设置--------------')
    from docxtpl import DocxTemplate
    import pandas as pd
    from docx2pdf import convert
    from docx.shared import RGBColor

    for y in range(0,int(len(father)/11)):      
        doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\破译电话号码模板(图案).docx')    
        wb = pd.read_excel(r'C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\家长电话号码.xlsx')   
        table = doc.tables[0] 

        print('------------学号\班级写入,字体设置--------------')
        n=N[y+1]
        run=table.cell(0,6).paragraphs[0].add_run(n)    # 这里的可以代表学号或者名字,把上面连接的数字改掉 姓名02 学号06 班级08(下面的数字也要改)
        run.font.name = '黑体'#输入时默认华文琥珀字体
        run.font.color.rgb = RGBColor(220,220,220) #设置颜色浅灰
        run.font.size = Pt(45)  #输入字体大小默认30号
        r = run._element
        r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
        table.cell(0,6).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中

        num=Num[y+1]
        run=table.cell(0,2).paragraphs[0].add_run(n)    # 这里的可以代表学号或者名字,把上面连接的数字改掉 姓名02 学号06 班级08(下面的数字也要改)
        run.font.name = '黑体'#输入时默认华文琥珀字体
        run.font.color.rgb = RGBColor(220,220,220) #设置颜色浅灰
        run.font.size = Pt(45)  #输入字体大小默认30号
        r = run._element
        r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
        table.cell(0,2).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中

        c=C[y+1]
        run=table.cell(0,8).paragraphs[0].add_run(c)    # 班级08
        run.font.name = '黑体'#输入时默认华文琥珀字体
        run.font.color.rgb = RGBColor(220,220,220) #设置颜色浅灰
        run.font.size = Pt(45)  #输入字体大小默认30号
        r = run._element
        r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
        table.cell(0,8).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中

        for nn in range(0,11):
            print('------------ 爸爸的手机号写入不同的word,字体设置--------------')
            f=father_all[y][nn]  
            print(f) 
            run=table.cell(2,nn).paragraphs[0].add_run(f)    # 在第该表格3行1列的单元格内输入“xxxx”
            run.font.name = '黑体'#输入时默认华文琥珀字体
            run.font.size = Pt(16)  #输入字体大小默认30号
            r = run._element
            r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
            table.cell(2,nn).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中

            print('------------ 妈妈的手机号写入不同的word,字体设置--------------')
            g=mother_all[y][nn]  
            print(g) 
            run=table.cell(5,nn).paragraphs[0].add_run(g)    # 在第该表格3行1列的单元格内输入“xxxx”
            run.font.name = '黑体'#输入时默认华文琥珀字体
            run.font.size = Pt(18)  #输入字体大小默认30号
            r = run._element
            r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
            table.cell(5,nn).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中 

        doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\零时Word\{}.docx'.format('%02d'%(y+1)))#保存为XX学号的电话号码word                   
    
        # docx 文件另存为PDF文件
        inputFile = r"C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\零时Word\{}.docx".format('%02d'%(y+1))  # 要转换的文件:已存在
        outputFile = r"C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\零时Word\{}.pdf".format('%02d'%(y+1))   # 要生成的文件:不存在
        # 先创建 不存在的 文件
        f1 = open(outputFile, 'w')
        f1.close()
        # 再转换往PDF中写入内容
        convert(inputFile, outputFile)

else:
    pass

print('----------第4步:把都有PDF合并为一个打印用PDF------------')
    
# 多个PDF合并(CSDN博主「红色小小螃蟹」,https://blog.csdn.net/yangcunbiao/article/details/125248205)
import os
from PyPDF2 import PdfFileMerger
target_path = r"C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\零时Word"
pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
pdf_lst.sort()
file_merger = PdfFileMerger()
for pdf in pdf_lst:
    print(pdf)
    file_merger.append(pdf)
file_merger.write(r"C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\(打印合集)破译电话号码-图案版({})-{}班-{}份.pdf".format(info,classroom,int(len(father)/11)))
file_merger.close()
# doc.Close()

print('----------第5步:删除临时文件夹------------')    
import shutil
shutil.rmtree(r"C:\Users\jg2yXRZ\OneDrive\桌面\破译电话号码\零时Word") #递归删除文件夹,即:删除非空文件夹


分析:

应该用Def函数把相似部分包在一起,缩短代码长度,但是水平有限,怕搞不清内容,还是用了机械办法罗列。

效果展示

三份打印合集(适合不同水平的幼儿)

1、适合中班默写学号——有姓名 有班级,无学号,适合中班幼儿

2、适合大班幼儿默写名字——有学号,有班级,无姓名,

  1. 适合初学者描字(小班、中班、大班)——名字、学号、班级都有(适合不会写的孩子描画名字、学号、班级)

使用情况:

发送给需求者。她还提出还需要一些”ABC排序“的学具(花朵、房屋、玩具、数字的排序)

感悟:

如果我的Python自制学具能够用于更多的教学情景,服务与更多的教师,才是真正的”实用“

(CSDN新版用起来很不习惯啊)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/382876.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件测试需要学习什么?好就业么

软件测试需要学习测试环境、网络环境、windows环境、数据库管理、编程技巧(java编程设计,脚本语言,设计工具,XML编程、软件测试技术,测试理论,方法,流程,文档写作,测试工…

微信小程序|基于小程序+云开发制作一个租房小程序

经济发展的同时伴随着大批人群的流动,租房需求一直是持久不衰的话题,如何租好房,好租房,跟随此文一起制作一个租房小程序,让租房不再困难。 一、小程序1. 创建小程序2. 首页3. 房源列表页4. 房源详情页5. 个人中心页</

mysql双机互为主从配置记录

1.准备2台机器 server1 192.168.0.37 server2 192.168.0.119 2.安装mysql&#xff0c;我这里用的docker-compose server1的docker-compose version: 3 services:db:build: ./buildcontainer_name: dbimage: mysql:5.6restart: alwayscommand:--character-set-serverutf8mb4…

python使用openpyxl处理excel表格数据

python使用openpyxl处理excel表格数据前言一、安装openpyxl包二、读取excel数据1. 获取excel表格的页码2. 获取excel表格某一行的数据3. 获取excel表格某一列的数据4. 获取excel表格n行n列的数据5. 获取excel表格某一格的数据三、把数据写入excel数据中前言 对于excel表格&…

探讨==和equals的区别和联系,为什么equals()和hashcode()要一起重写?

(一) 探讨和equals的区别和联系&#xff1f; 面试考题&#xff1a;《关于和equals的区别》&#xff0c;该怎么回答完美呢&#xff1f; 可以这样回答&#xff1a; &#xff08;1&#xff09;对于 简单来说比较的是指相等 ①&#xff1a;对于基本数据类型,则直接比较的是对应…

项目实战-瑞吉外卖day01(B站)

瑞吉外卖-Day01课程内容软件开发整体介绍瑞吉外卖项目介绍开发环境搭建后台登录功能开发后台退出功能开发1. 软件开发整体介绍作为一名软件开发工程师,我们需要了解在软件开发过程中的开发流程&#xff0c; 以及软件开发过程中涉及到的岗位角色&#xff0c;角色的分工、职责&am…

Vland:像乐高一样搭建元宇宙|开发者说

社交达人金秋远每年会组织和参加数以百计的活动——既有线下也有线上&#xff0c;既有德州扑克也有创业交流&#xff0c;既有客户回访也有校友叙旧。 活跃于各种社交活动&#xff0c;是金秋远在贝恩咨询为 500 强企业担任战略顾问时养成的习惯。由于喜欢研究「人与人的连接」&…

如何用Python把篮球和鸡联系起来

文章目录画个球让球转起来画个球 不管篮球和不和鸡联系起来&#xff0c;都首先得有个球&#xff0c;或者说要有一个球面&#xff0c;用参数方程可以表示为 xrcos⁡ϕcos⁡θyrcos⁡ϕsin⁡θzrsin⁡ϕ\begin{aligned} x & r\cos\phi\cos\theta\\ y & r\cos\phi\sin\th…

STM32 EXTI外部中断

本文代码使用 HAL 库。 文章目录前言一、什么是外部中断&#xff1f;二、外部中断中断线三、STM32F103的引脚复用四、相关函数&#xff1a;总结前言 一、什么是外部中断&#xff1f; 外部中断 是单片机实时地处理外部事件的一种内部机制。当某种外部事件发生时&#xff0c;单片…

13 nuxt3学习(新建页面 内置组件 assets 路由)

新建页面 Nuxt项目中的页面是在 pages目录 下创建的 在pages目录创建的页面&#xff0c;Nuxt会根据该页面的目录结构和其文件名来自动生成对应的路由。页面路由也称为文件系统路由器&#xff08;file system router&#xff09;&#xff0c;路由是Nuxt的核心功能之一 方式一…

DHTMLX Suite 8.0 重大发布,新增更多新主题、热图图表、辅助功能支持功能

DHTMLX Suite 是一个用于构建跨浏览器Web应用和移动应用的强大JavaScript UI库。DHTMLX UI 组件库允许您更快地构建跨平台、跨浏览器 Web 和移动应用程序。它包括一组丰富的即用式 HTML5 组件&#xff0c;这些组件可以轻松组合到单个应用程序界面中。 DHTMLX Spreadsheet正版试…

动态网站开发讲课笔记04:Servlet基础

文章目录零、本节学习目标一、Servlet基础&#xff08;一&#xff09;Servlet概述1、Servlet是什么2、Servlet容器3、Servlet应用程序的体系结构&#xff08;二&#xff09;Servlet的特点1、功能强大2、可移植3、性能高效4、安全性高5、可扩展&#xff08;三&#xff09;Servle…

数据结构刷新知识总结,为了与题目分开,特地在这里开一篇博客

文章目录二叉树、树、森林的转换二叉树的五个特性常用算法总结常用算法详解图的概念堆排序哈希查找二叉树、树、森林的转换 树转二叉树 二叉树转树 森林转二叉树 二叉树转森林 二叉树的五个特性 性质1&#xff1a;在二叉树的第i层上至多有2i-1个结点性质2&#xff1a;深度为…

Android动态获取权限(详细教程附代码)

Android动态获取权限概述动态获取权限具体实现layout布局代码回调函数onRequestPermissionsResult权限判断工具类清单文件方式一&#xff1a;懒汉式方式二&#xff1a;饿汉式概述 如果是android6.0以下的版本&#xff0c;只需要在manifest声明对应的权限即可。但是这样会大大降…

美颜sdk动态贴纸的实现流程

随着移动互联网时代的到来&#xff0c;各式各样的 APP层出不穷&#xff0c;从最初的微信、 QQ到如今的抖音、快手等等&#xff0c;再到如今的微博、小红书等等&#xff0c;各式各样的 APP不断涌现。从最开始简单的图片展示到视频聊天&#xff0c;再到现如今丰富多样的各种动态贴…

rip题解

1.查看文件保护机制 使用的是新版本的checksec 2.拖入IDA分析 查壳 是一个64文件&#xff0c;拖入64位IDA 这个文件就是我们要攻击的服务器中的一个进程的代码&#xff0c;进程就是一个正在运行的程序 分析敏感函数 打开字符串窗口 跟进&#xff0c;光标点在command&#x…

Linux: ARM GIC只中断CPU 0问题分析

文章目录1. 前言2. 分析背景3. 问题4. 分析4.1 ARM GIC 中断芯片简介4.1.1 中断类型和分布4.1.2 拓扑结构4.2 问题根因4.2.1 设置GIC SPI 中断CPU亲和性4.2.2 GIC初始化&#xff1a;缺省的CPU亲和性4.2.2.1 boot CPU亲和性初始化流程4.2.2.1 其它非 boot CPU亲和性初始化流程5.…

【微信小程序】-- 全局配置 -- window - 下拉刷新 上拉触底(十六)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &…

模型实战(6)之Alex实现图像分类:模型原理+训练+预测(详细教程!)

Alex实现图像分类:模型原理+训练+预测 图像分类或者检索任务在浏览器中的搜索操作、爬虫搜图中应用较广,本文主要通过Alex模型实现猫狗分类,并且将可以复用的开源模型在文章中给出!!!数据集可以由此下载:Data本文将从以下内容做出讲述: 1.模型简介及环境搭建2.数据集准…

微纳制造期末复习

章节分为六个模块&#xff1a; 1. 微纳制造中的材料 2.光刻技术 3.微纳制造中使用的技术 4.刻蚀 5.沉积 7.微纳刻蚀 根据导电性区分材料&#xff1a;导体&#xff0c;半导体&#xff0c;绝缘体 晶体&#xff1a;长程有序 多晶&#xff1a;短程有序 非晶&#xff1a;无序…