【教学类-07-08】20231114《破译电话号码-图形篇(图形固定列不重复)》(大4班 有名字 有班级 无学号、零=0)

效果展示

背景需求:

最近大4班做“嵌套骰子”非常频繁,为了避免“疲劳”,我找出他们班家长的手机号,批量做了“破译电话号码”,有图案版和加减法版,考虑到第一次做,还是选最简单的“点数总数,写出数字”,于是批量了一套“图案版的破译手机号码


代码展示:


'''
作者:阿夏
时间: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、适合中班默写学号——有姓名 有班级,无学号,适合中班幼儿

教学情况:

时间:2023年05月08日

班级:中6班

人数:27人

活动过程:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++算法:全 O(1) 的数据结构

题目 请你设计一个用于存储字符串计数的数据结构,并能够返回计数最小和最大的字符串。 实现 AllOne 类: AllOne() 初始化数据结构的对象。 inc(String key) 字符串 key 的计数增加 1 。如果数据结构中尚不存在 key ,那么插入计数为 1 的 key…

蒙特卡洛树搜索(Monte Carlo Tree Search)揭秘

一. 什么是蒙特卡洛树搜索 蒙特卡洛树搜索(MCTS)是一种启发式搜索算法,一般用在棋牌游戏中,如围棋、西洋棋、象棋、黑白棋、德州扑克等。MCTS与人工神经网络结合,可发挥巨大的作用,典型的例子是2016年的AlphaGo,以4:1…

压测工具主要功能是什么?该怎样选择?

压测工具是一类用于模拟并评估系统在不同负载条件下的性能的软件应用程序。通过模拟大量用户同时访问系统,压测工具能够帮助开发者识别系统的瓶颈、性能瓶颈以及潜在的故障点。这种实时、模拟的方式允许开发者在正式投入使用之前发现并解决问题,提高系统…

MySQL8 绿色版安装

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: MySQL学习 ✨特色专栏: My…

数据结构线性表——队列

前言:哈喽小伙伴们,这篇文章我们继续来学习线性表的第五章——队列。 世上无难事,只怕有心人。数据结构看似有很多种类型,但是它们之间都有着千丝万缕的联系。 只要我们能够耐心学习思考,就一定能够将知识串通起来&a…

一例plugx样本的分析(AcroRd32cWP)

这是一例plugx的样本,使用了一个合法签名的程序 ,使用侧加载的方式加载一个恶意的dll,解密一个dat文件来,在内存中执行一个反射型dll来完成恶意功能。 这个病毒会使用摆渡的方式的来窃取内网的文档数据,具有严重的失泄…

c语言11周(16~20)

利用函数求和 //只填写要求的函数 double fun(int n) {double s 0;int i;for (i 1; i < n; i) {s 1.0 / (i * i);}return s; } 编写char fun(char c)函数&#xff0c;将数字参数字符c按如下规则转换。 题干编写char fun(char c)函数&#xff0c;将数字参数字符c按如…

YOLO目标检测——苹果数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;监测果园中苹果的生长情况、水果品质监控、自动化分拣数据集说明&#xff1a;苹果检测数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富标签说明&#xff1a;使用lableimg标注软件标注&#xff0c;标注框质量高&#xff0c;含voc(…

《视觉SLAM十四讲》-- 后端 1(上)

文章目录 08 后端 18.1 概述8.1.1 状态估计的概率解释8.1.2 线性系统和卡尔曼滤波&#xff08;KF&#xff09;8.1.3 非线性系统和扩展卡尔曼滤波&#xff08;EKF&#xff09;8.1.4 小结 08 后端 1 前端视觉里程计可以给出一个短时间内的轨迹和地图&#xff0c;但由于不可避免的…

项目经理为什么要考PMP?PMP考试条件有哪些?

考得PMP&#xff0c;项目经理可以有以下收获&#xff1a; 1、面试条件上&#xff1a;有PMP证书优先&#xff1b; 2、覆盖行业和职位范围广&#xff0c;医疗&#xff0c;互联网&#xff0c;机械&#xff0c;建筑金融&#xff0c;汽车&#xff0c;零售等各行各业&#xff0c;基…

【FastCAE源码阅读9】鼠标框选网格、节点的实现

一、VTK的框选支持类vtkInteractorStyleRubberBandPick FastCAE的鼠标事件交互类是PropPickerInteractionStyle&#xff0c;它扩展自vtkInteractorStyleRubberBandPick。vtkInteractorStyleRubberBandPick类可以实现鼠标框选物体&#xff0c;默认情况下按下键盘r键开启框选模式…

qt之扫码枪编码自动识别文本

一、前言 使用扫码枪输入扫码后&#xff0c;自动将编码转为文字或识别进入下一功能。 只是简单的实现了一种方式&#xff0c;并不适用于商业用途 二、环境 扫码枪免驱自动扫码编码打印到输入库的环境下 三、正文 本文介绍也是输入一种方式&#xff0c;不限于非得扫码识别…

YOLO-NAS:最高效的目标检测算法之一

YOLO-NAS目标检测 介绍 YOLO&#xff08;You Only Look Once&#xff09;是一种目标检测算法&#xff0c;它使用深度神经网络模型&#xff0c;特别是卷积神经网络&#xff0c;来实时检测和分类对象。该算法首次在2016年的论文《You Only Look Once&#xff1a;统一的实时目标检…

【Proteus仿真】【51单片机】拔河游戏设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器&#xff0c;使用按键、LED、动态数码管模块等。 主要功能&#xff1a; 系统运行后&#xff0c;指示灯处于中间位置&#xff0c;数码管显示得分0&#xff0c;当按下…

c++范围for语句

语法格式 for(declaration:expression)statement 基本使用 遍历输出 vector<int> nums { 1,2,3,4,5}; for (int num : nums) {num;cout << num << " "; } cout << endl; 遍历时修改 vector<int> nums { 1,2,3,4,5}; for (int&…

Android 布局优化,看过来 ~

屏幕刷新机制 基本概念 刷新率&#xff1a;屏幕每秒刷新的次数&#xff0c;单位是 Hz&#xff0c;例如 60Hz&#xff0c;刷新率取决于硬件的固定参数。帧率&#xff1a;GPU 在一秒内绘制操作的帧数&#xff0c;单位是 fps。Android 采用的是 60fps&#xff0c;即每秒 GPU 最多…

[文件读取]cuberite 文件读取 (CVE-2019-15516)

1.1漏洞描述 漏洞编号CVE-2019-15516漏洞类型文件上传漏洞等级⭐⭐⭐漏洞环境VULFOCUS攻击方式 描述: Cuberite是一款使用C语言编写的、轻量级、可扩展的多人游戏服务器。 Cuberite 2019-06-11之前版本中存在路径遍历漏洞。该漏洞源于网络系统或产品未能正确地过滤资源或文件路…

苍穹外卖项目笔记(1)

前言 苍穹外卖项目笔记附代码&#xff0c;贴上 github 链接&#xff0c;持续更新中&#xff1a;GitHub - Echo0701/sky-take-out &#xff08;不知道为啥发不了项目压缩包&#xff0c;那就下次再试试吧........&#xff09; 1 软件开发整体介绍 1.1 软件开发流程 1.2 角色分…

U-boot(一):Uboot命令和tftp

本文主要基于S5PV210探讨uboot。 uboot 部署&#xff1a;uboot(180~400K的裸机程序)在Flash(可上电读取)、OS在FLash(nand) 启动过程&#xff1a;上电后先执行uboot、uboot初始化DDR和Flash,将OS从Flash中读到DDR中启动OS,uboot结束 特点&#xff1a;…

MES系统如何改进生产管理?

伴随机械制造业行业竞争逐渐加剧&#xff0c;越来越多企业意识到MES系统的重要性&#xff0c;慢慢积极主动把握和实施MES系统。可是纵观绝大部分企业或者MES生产商&#xff0c;对MES的掌握依然存在比较大的分歧。 有一些人说MES系统是企业信息化构建的中枢神经&#xff0c;也有…