【教學類-06-07】20231124 (55格版)X-X之間的加法、減法、加減混合題

背景需求

在大四班里,預測試55格“5以內、10以內、20以內的加法題、減法題、加減混合題”的“實用性”。

由于只打印一份20以內加法減法混合題。

“這套20以內的加減法最難”,我詢問誰會做(摸底幼兒的水平)

有兩位男孩舉手想挑戰,其中一位頑皮男孩之前就撒嬌祈求要最難的題目,我心軟就同意給他讓他試試了。

他選走了,做了幾題后,他拿著紙問我:“X老師,你不是說這是20以內加減法嗎,為什么這里會有1+3的題目?”

我一愣,告訴他:“20以內自然包含了3以內的題目。3以內題目對你來說不是很容易”

他不明所以,但還是點點頭走了。

我轉眼一想,理解他的意思:“20以內不應該包含1+3這種5以內的簡單題目,應該至少有一個兩位數的數字,如10+5=、12+4=、”

幼兒需求:

20以內加法,排除掉10以內的加減法,只提取10-20之間的加減法

用代碼先測試一下“X—X之間加法題”的數量

1.0版本中的“0-5以內加法”、“0-10以內加法”、“0-20以內加法”,

起始數字5與0-20之間數字的題目數

起始數字10與0-20之間數字的題目數

關鍵數字測試后,我發現一個現象

1、0-5、5-10、10-15的加法題目數量都是21題、0-10、10-20的加法題數量都是66,

結論:相隔5個數(實際6個)的數量是21題,相隔10個數(實際11個)的數量是66題。

2、0-Y都是有題目數的,X-Y會出現0題

結論:需要在排除0題,如if x=0,pass。也因此可以看到,題目數數量難以確定,不能用大于9、小于9作為判斷單元格抽取數量的標準,需要用len(P)替代9.

3、項目標題從“X以內加減題共XX題抽XX”改成“X-Y之間“+”共XX題抽XX”

第一款:X-Y之間不重復加法題“+”共XX題,抽取XX題

A類:只要正序,如10-20之間,會抽取10+0,10+1,不會出現0+10,1+10的內容 數量為66題,抽取55題。

'''
9以內“+”一頁兩份(共55格)不超過100
時間:2023年11月14日 21:46
作者:阿夏
'''import random
from win32com.client import constants,gencache
from win32com.client.gencache import EnsureDispatch
from win32com.client import constants # 導入枚舉常數模塊
import os,timeimport docx
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 qnfrom docxtpl import DocxTemplate
import pandas as pd
from docx2pdf import convert
from docx.shared import RGBColor# 第一步:制作不重復所有“+”、不重復所有減法# 不重復的數字題
num=int(input('打印幾份(必須是雙數)\n'))
classroom=input('班級(輸入中、大)\n')
size=20
height1=12
weight1=5
sum1=int(input('X-Y以內的“+” 最小數字X\n'))
sum2=int(input('X-Y以內的“+” 最大數字Y\n'))for  sum in [sum2]:
# 5以內“+”題共21題P=[]for a in range(sum1,sum2+1):     # 起始數字就是10,就是排除掉0-10之間的數字for b in range(sum2+1):      # 起始數字為0,if sum1<=a+b<sum2+1:         # print('{}+{}='.format(a,b))P.append('{}+{}='.format(a,b))else:passprint(P)# ['0+0=', '0+1=', '0+2=', '0+3=', '0+4=', '0+5=', '1+0=', '1+1=', '1+2=', '1+3=', '1+4=', '2+0=', '2+1=', '2+2=', '2+3=', '3+0=', '3+1=', '3+2=', '4+0=', '4+1=', '5+0=']# “+”題生成都是按小到大排列的,不需要sort排序print('{}-{}之間的加法題共有  {}  題'.format(sum1,sum,len(P)) )   # 21# 第一行的班級和項目D=[]c='{}'.format(classroom)if len(P) <=55:title='{}-{}“+”共{}抽{}題'.format(sum1,sum2,len(P),len(P))if len(P) >55:title='{}-{}“+”共{}抽55題'.format(sum1,sum2,len(P))d=['0001','0002']# 表格0 表格2的 03 05單元格里寫入標題信息cD.append(c)D.append(title)print(D)# 制作"單元格"bgall=[]for bb in d:bgall.append(bb)for x in range(1,height1):   for y in range(0,weight1):            s1='{}{}'.format('%02d'%x,'%02d'%y)       # 數字加空格bgall.append(s1)   print(bgall)        print(len(bgall))# 不同情況下的單元格數量if len(P) <=55:bg=bgall[0:2+len(P)]print(bg)print(len(bg))else:bg=bgall[0:len(bgall)]print(bg)print(len(bg))# ['0003', '0005', '0100', '0101', '0102', '0103', '0104', '0200', '0201', '0202', '0203', '0204', '0300', '0301', '0302', '0303', '0304', '0400', '0401', '0402', '0403', '0404', '0500']# 新建一個”裝N份word和PDF“的臨時文件夾imagePath1=r'C:\Users\jg2yXRZ\OneDrive\桌面\加減法\零時Word'if not os.path.exists(imagePath1):  # 判斷存放圖片的文件夾是否存在os.makedirs(imagePath1)  # 若圖片文件夾不存在就創建n=int(num/2)for z in range(0,n):   #多少份  # 標題說明# 新建worddoc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\加減法\01加減法模板一頁兩份(加減法,大量題目).docx')  for j in range(2):if len(P) <=55:# D=[]# 小于9的題目,要計算一共有幾題,寫入等量的單元格內, C=random.sample(P,len(P))  for cc in C:D.append(cc)print(D)print(len(D))else:# D=[]# 大于9的題目,只要抽取55題,多余的寫不下, C=random.sample(P,len(bgall))              # 55格for cc in C:D.append(cc)print(D)print(len(D))#       # 房間模板(第一個表格)要寫入的門牌號列表 table = doc.tables[j]          # 表0,表2 寫標題用的# 標題寫入3、5單元格  for t in range(0,len(bg)):             # 0-5是最下面一行,用來寫卡片數字pp=int(bg[t][0:2])     # qq=int(bg[t][2:4])k=str(D[t])              # 提取list圖案列表里面每個圖形  t=索引數字print(pp,qq,k)# 圖案符號的字體、大小參數run=table.cell(pp,qq).paragraphs[0].add_run(k)    # 在單元格0,0(第1行第1列)輸入第0個圖圖案run.font.name = '黑體'#輸入時默認華文彩云字體# run.font.size = Pt(46)  #輸入字體大小默認30號 換行(一頁一份大卡片run.font.size = Pt(size) #是否加粗run.font.color.rgb = RGBColor(200,200,200) #數字小,顏色深0-255run.bold=True# paragraph.paragraph_format.line_spacing = Pt(180) #數字段間距r = run._elementr.rPr.rFonts.set(qn('w:eastAsia'), '黑體')#將輸入語句中的中文部分字體變為華文行楷table.cell(pp,qq).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.LEFT #居中   #    doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\加減法\零時Word\{}.docx'.format('%02d'%(z+1)))#保存為XX學號的電話號碼word     from docx2pdf import convert# docx 文件另存為PDF文件inputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/加減法/零時Word/{}.docx".format('%02d'%(z+1))# 要轉換的文件:已存在outputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/加減法/零時Word/{}.pdf".format('%02d'%(z+1))  # 要生成的文件:不存在# 先創建 不存在的 文件f1 = open(outputFile, 'w')f1.close()# 再轉換往PDF中寫入內容convert(inputFile, outputFile)print('----------第4步:把都有PDF合并為一個打印用PDF------------')# 多個PDF合并(CSDN博主「紅色小小螃蟹」,https://blog.csdn.net/yangcunbiao/article/details/125248205)import osfrom PyPDF2 import PdfFileMergertarget_path =  '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)if len(P) <=55:file_merger.write("C:/Users/jg2yXRZ/OneDrive/桌面/加減法/(打印合集)01“+”(一頁兩份 )55題{}-{}之間“+”共{}題抽{}題({}共{}人打印{}張).pdf" .format('%02d'%sum1,'%02d'%sum2,'%03d'%len(P),'%02d'%len(P),c,num,n))else:file_merger.write("C:/Users/jg2yXRZ/OneDrive/桌面/加減法/(打印合集)01“+”(一頁兩份 )55題{}-{}之間“+”共{}題抽55題({}共{}人打印{}張).pdf".format('%02d'%sum1,'%02d'%sum2,'%03d'%len(P),c,num,n))file_merger.close()# doc.Close()# # print('----------第5步:刪除臨時文件夾------------')    import shutilshutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/加減法/零時Word') #遞歸刪除文件夾,即:刪除非空文件夾

B類:正序逆序都算,如10-20以內,會抽取10+0,10+1,還會出現0+10,1+10的內容,數量會多—— 131題(10+10出現2次,排除1次 66*2=132-1=131)中抽取55題

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/167738.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167738.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167738.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

joplin筆記同步 到騰訊云S3

創建存儲桶 打開騰訊云的存儲桶列表&#xff0c;點擊“創建存儲桶”&#xff0c;輸入名稱&#xff0c;選擇地域&#xff08;建議選擇離自己較近的地域以降低訪問時延&#xff09;和訪問權限&#xff08;建議選擇“私有讀寫”&#xff09;。 s3 存儲桶&#xff1a; 存儲桶的名稱…

【經典小練習】簡單的文件加密解密

文章目錄 &#x1f339;什么是文件加密?應用場景 &#x1f6f8;案例&#x1f33a;描述&#x1f33a;代碼 &#x1f339;什么是文件加密 Java文件加密是指使用Java編程語言和相關的加密算法對文件進行加密處理。通過這種方式&#xff0c;可以將文件內容轉換為一種非常規的形式…

Halcon Solution Guide I basics(4): Blob Analysis(連通性解析)

文章目錄 文章專欄前言文章解析開頭步驟分析簡單案例進階方案 進階代碼案例crystal&#xff0c;結晶匹配需求分析 文章專欄 Halcon開發 Halcon學習 練習項目gitee倉庫 CSDN Major 博主Halcon文章推薦 前言 今天來看第三章內容&#xff0c;既然是零基礎&#xff0c;而且我還有大…

希寶貓罐頭怎么樣?專業人士告訴你口碑好的貓罐頭推薦

作為一個從業寵物營養師7年的人&#xff0c;可以說對于貓咪的食物很有研究和貓罐頭品牌選購上&#xff0c;我有自己的見解。那么希寶貓罐頭怎么樣呢&#xff1f; 希寶貓罐頭采用了先進的加工工藝&#xff0c;注重產品的包裝和密封性&#xff0c;其包裝設計簡潔時尚&#xff0c…

Java定時任務 ScheduledThreadPoolExecutor

ScheduledThreadPoolExecutor 的創建 ScheduledThreadPoolExecutor executorService new ScheduledThreadPoolExecutor(1, // 核心線程數new BasicThreadFactory.Builder().namingPattern("example-schedule-pool-%d") // 線程命名規則.daemon(true) // 設置線程為…

STM32 中斷系統

單片機學習 目錄 文章目錄 前言 一、中斷系統 1.1 什么是中斷 1.2 中斷優先級 1.3 中斷嵌套 1.4 C語言中的中斷程序 二、STM32的中斷通道和中斷向量 2.1 中斷通道 2.2 嵌套向量中斷控制器NVIC 2.2.1 什么是NVIC 2.2.2 NVIC基本結構 2.2.3搶占優先級和響應優先級 2.2.4 NVIC的優…

間隔分區表(DM8:達夢數據庫)

DM8:達夢數據庫 - 間隔分區表 環境介紹1 按 年 - 間隔分區表2 按 月 - 間隔分區3 按 日 - 間隔分區4 按 數值 - 間隔分區表5 達夢數據庫學習使用列表 環境介紹 間隔分區表使用說明&#xff1a; 僅支持一級范圍分區創建間隔分區。 只能有一個分區列&#xff0c;且分區列類型為…

究竟什么是阻塞與非阻塞、同步與異步

文章目錄 前言阻塞與非阻塞同步與異步復雜的網絡IO真正的異步IOIO分類與示例總結 前言 這幾個名詞在程序開發時經常聽到&#xff0c;但是突然問起來各個詞的含義一時間還真是說不清楚&#xff0c;貌似這幾個詞都是翻譯過來的&#xff0c;每個人的解釋都不太一樣&#xff0c;我…

深度學習卷積神經網絡參數計算難點重點

目錄 一、卷積層圖像輸出尺寸 二、池化層圖像輸出尺寸 三、全連接層輸出尺寸 四、卷積層參數數量 五、全連接層參數數量 六、代碼實現與驗證 以LeNet5經典模型為例子并且通道數為1 LeNet5網絡有7層&#xff1a; ? 1.第1層&#xff1a;卷積層 ? 輸入&#xff1a;原始的圖片像素…

c語言數字轉圈

數字轉圈 題干輸入整數 N&#xff08;1≤N≤9&#xff09;&#xff0c;輸出如下 N 階方陣。 若輸入5顯示如下方陣&#xff1a; * 1** 2** 3** 4** 5* *16**17**18**19** 6* *15**24**25**20** 7* *14**23**22**21** 8* *13**12**11**10** 9*輸入樣例3輸出樣例* 1*…

PTA 海盜分贓

P 個海盜偷了 D 顆鉆石后來到公海分贓&#xff0c;一致同意如下分贓策略&#xff1a; 首先&#xff0c;P 個海盜通過抽簽決定 1 - P 的序號。然后由第 1 號海盜提出一個分配方案&#xff08;方案應給出每個海盜分得的具體數量&#xff09;&#xff0c;如果能夠得到包括 1 號在…

linux高級篇基礎理論六(firewalld,防火墻類型,,區域,服務端口,富語言)

??作者&#xff1a;小劉在C站 ??個人主頁&#xff1a; 小劉主頁 ??不能因為人生的道路坎坷,就使自己的身軀變得彎曲;不能因為生活的歷程漫長,就使求索的 腳步遲緩。 ??學習兩年總結出的運維經驗&#xff0c;以及思科模擬器全套網絡實驗教程。專欄&#xff1a;云計算技…

基于戰爭策略算法優化概率神經網絡PNN的分類預測 - 附代碼

基于戰爭策略算法優化概率神經網絡PNN的分類預測 - 附代碼 文章目錄 基于戰爭策略算法優化概率神經網絡PNN的分類預測 - 附代碼1.PNN網絡概述2.變壓器故障診街系統相關背景2.1 模型建立 3.基于戰爭策略優化的PNN網絡5.測試結果6.參考文獻7.Matlab代碼 摘要&#xff1a;針對PNN神…

測試工具JMeter的使用

目錄 JMeter的安裝配置 測試的性能指標 TPS 響應時長 并發連接 和 并發用戶 CPU/內存/磁盤/網絡 負載 性能測試實戰流程 JMeter JMeter快速上手 GUI模式 運行 HTTP請求默認值 錄制網站流量 模擬間隔時間 Cookie管理器 消息數據關聯 變量 后置處理器 CSV 數據文…

中國企業500強的排名也在不斷變化。面對不確定性的挑戰,企業如何應對?

隨著全球經濟的不斷發展和變化&#xff0c;中國企業500強的排名也在不斷變化。面對不確定性的挑戰&#xff0c;企業如何應對&#xff1f;在本文中&#xff0c;挖數據平臺將提供數據源探討中國企業500強在應對不確定性方面的突圍與變革。 一、數據挖掘與分析 從2006年到2023年&…

【電子通識】什么是物料清單BOM(Bill of Material))

BOM (Bill of Materials)是我們常說的物料清單。BOM是制造業管理的重點之一&#xff0c;用于記載產品組成所需要的全部物料&#xff08;Items&#xff09;。物料需求的計算是從最終產品開始&#xff0c;層層往下推算出部件&#xff0c;組件&#xff0c;零件和原材料的需求量。這…

【C++11】nullptr關鍵字使用詳解

系列文章目錄 C11新特性使用詳解-持續更新 https://blog.csdn.net/xiaofeizai1116/category_12498334.html 文章目錄 系列文章目錄一、簡介二、引入nullptr原因1. 消除歧義2. 兼容性問題3. 類型安全 三、使用場景1. 初始化指針變量2. 判斷指針是否為空3. 釋放內存后置為空 四、…

【nlp】3.5 Transformer論文復現:3.解碼器部分(解碼器層)和4.輸出部分(線性層、softmax層)

Transformer論文復現:3.解碼器部分(解碼器層)和4.輸出部分(線性層、softmax層) 3.1 解碼器介紹3.2 解碼器層3.2.1 解碼器層的作用3.2.2 解碼器層的代碼實現3.2.3 解碼器層總結3.3 解碼器3.3.1 解碼器的作用3.3.2 解碼器的代碼實現3.3.3 解碼器總結4.1 輸出部分介紹4.2 線性…

Python---函數定義時缺省參數(參數默認值)

缺省參數也叫默認參數&#xff0c;用于定義函數&#xff0c;為參數提供默認值&#xff0c;調用函數時可不傳該默認參數的值&#xff08;注意&#xff1a;所有位置參數必須出現在默認參數前&#xff0c;包括函數定義和調用&#xff09;。 def user_info(name, age, gender男):pr…

Elaticsearch學習

Elaticsearch 索引 1、索引創建 PUT /index_v1 {"settings": {"number_of_shards": 3,"number_of_replicas": 1},"mappings": {"properties": {"aaa": {"type": "keyword","store&qu…