帮我制作一份元素周期表,带中文的读音

Erstellt am: 16. August 2026

Beantwortet mit GPT-5.6 Thinking von Chat01

Frage

帮我制作一份元素周期表,带中文的读音

Gedanke

准备元素周期表

我会制作一份包含元素符号、中文名称和拼音读音的清晰周期表,并选择便于打印和学习的版式。 rare elements' standardized Chinese pronunciations require careful verification.

Prepared the periodic table****Used spreadsheets skill

{"system1_search_query":[{"q":"中国化学会 元素周期表 中文 名称 拼音 113 118"},{"q":"全国科学技术名词审定委员会 113 115 117 118 元素 中文名称 读音"},{"q":"化学元素周期表 中文名称 拼音 1 118 官方"}],"response_length":"medium"}

Searched 5 websites

bash -lc fc-list :lang=zh | head -20

{"paths":["

Checked Chinese font and spreadsheet tool availability

{"uri":"/response/turn3","query":"render"}

Used spreadsheets skill

bash -lc cat > /mnt/data/create_periodic_table.py <<'PY' from openpyxl import Workbook, load_workbook from openpyxl.styles import Font, PatternFill, Border, Side, Alignment from openpyxl.utils import get_column_letter from openpyxl.worksheet.page import PageMargins from openpyxl.comments import Comment

Atomic number, symbol, simplified Chinese name, pinyin, category

raw = [ (1,'H','氢','qīng','nonmetal'),(2,'He','氦','hài','noble'), (3,'Li','锂','lǐ','alkali'),(4,'Be','铍','pí','alkaline'),(5,'B','硼','péng','metalloid'),(6,'C','碳','tàn','nonmetal'),(7,'N','氮','dàn','nonmetal'),(8,'O','氧','yǎng','nonmetal'),(9,'F','氟','fú','halogen'),(10,'Ne','氖','nǎi','noble'), (11,'Na','钠','nà','alkali'),(12,'Mg','镁','měi','alkaline'),(13,'Al','铝','lǚ','post'),(14,'Si','硅','guī','metalloid'),(15,'P','磷','lín','nonmetal'),(16,'S','硫','liú','nonmetal'),(17,'Cl','氯','lǜ','halogen'),(18,'Ar','氩','yà','noble'), (19,'K','钾','jiǎ','alkali'),(20,'Ca','钙','gài','alkaline'),(21,'Sc','钪','kàng','transition'),(22,'Ti','钛','tài','transition'),(23,'V','钒','fán','transition'),(24,'Cr','铬','gè','transition'),(25,'Mn','锰','měng','transition'),(26,'Fe','铁','tiě','transition'),(27,'Co','钴','gǔ','transition'),(28,'Ni','镍','niè','transition'),(29,'Cu','铜','tóng','transition'),(30,'Zn','锌','xīn','transition'),(31,'Ga','镓','jiā','post'),(32,'Ge','锗','zhě','metalloid'),(33,'As','砷','shēn','metalloid'),(34,'Se','硒','xī','nonmetal'),(35,'Br','溴','xiù','halogen'),(36,'Kr','氪','kè','noble'), (37,'Rb','铷','rú','alkali'),(38,'Sr','锶','sī','alkaline'),(39,'Y','钇','yǐ','transition'),(40,'Zr','锆','gào','transition'),(41,'Nb','铌','ní','transition'),(42,'Mo','钼','mù','transition'),(43,'Tc','锝','dé','transition'),(44,'Ru','钌','liǎo','transition'),(45,'Rh','铑','lǎo','transition'),(46,'Pd','钯','bǎ','transition'),(47,'Ag','银','yín','transition'),(48,'Cd','镉','gé','transition'),(49,'In','铟','yīn','post'),(50,'Sn','锡','xī','post'),(51,'Sb','锑','tī','metalloid'),(52,'Te','碲','dì','metalloid'),(53,'I','碘','diǎn','halogen'),(54,'Xe','氙','xiān','noble'), (55,'Cs','铯','sè','alkali'),(56,'Ba','钡','bèi','alkaline'),(57,'La','镧','lán','lanthanide'),(58,'Ce','铈','shì','lanthanide'),(59,'Pr','镨','pǔ','lanthanide'),(60,'Nd','钕','nǚ','lanthanide'),(61,'Pm','钷','pǒ','lanthanide'),(62,'Sm','钐','shān','lanthanide'),(63,'Eu','铕','yǒu','lanthanide'),(64,'Gd','钆','gá','lanthanide'),(65,'Tb','铽','tè','lanthanide'),(66,'Dy','镝','dī','lanthanide'),(67,'Ho','钬','huǒ','lanthanide'),(68,'Er','铒','ěr','lanthanide'),(69,'Tm','铥','diū','lanthanide'),(70,'Yb','镱','yì','lanthanide'),(71,'Lu','镥','lǔ','lanthanide'), (72,'Hf','铪','hā','transition'),(73,'Ta','钽','tǎn','transition'),(74,'W','钨','wū','transition'),(75,'Re','铼','lái','transition'),(76,'Os','锇','é','transition'),(77,'Ir','铱','yī','transition'),(78,'Pt','铂','bó','transition'),(79,'Au','金','jīn','transition'),(80,'Hg','汞','gǒng','transition'),(81,'Tl','铊','tā','post'),(82,'Pb','铅','qiān','post'),(83,'Bi','铋','bì','post'),(84,'Po','钋','pō','post'),(85,'At','砹','ài','halogen'),(86,'Rn','氡','dōng','noble'), (87,'Fr','钫','fāng','alkali'),(88,'Ra','镭','léi','alkaline'),(89,'Ac','锕','ā','actinide'),(90,'Th','钍','tǔ','actinide'),(91,'Pa','镤','pú','actinide'),(92,'U','铀','yóu','actinide'),(93,'Np','镎','ná','actinide'),(94,'Pu','钚','bù','actinide'),(95,'Am','镅','méi','actinide'),(96,'Cm','锔','jú','actinide'),(97,'Bk','锫','péi','actinide'),(98,'Cf','锎','kāi','actinide'),(99,'Es','锿','āi','actinide'),(100,'Fm','镄','fèi','actinide'),(101,'Md','钔','mén','actinide'),(102,'No','锘','nuò','actinide'),(103,'Lr','铹','láo','actinide'), (104,'Rf','𬬻','lú','transition'),(105,'Db','𬭊','dù','transition'),(106,'Sg','𬭳','xǐ','transition'),(107,'Bh','𬭛','bō','transition'),(108,'Hs','𬭶','hēi','transition'),(109,'Mt','鿏','mài','transition'),(110,'Ds','𫟼','dá','transition'),(111,'Rg','𬬭','lún','transition'),(112,'Cn','鿔','gē','transition'),(113,'Nh','鿭','nǐ','post'),(114,'Fl','𫓧','fū','post'),(115,'Mc','镆','mò','post'),(116,'Lv','𫟷','lì','post'),(117,'Ts','鿬','tián','halogen'),(118,'Og','鿫','ào','noble')]

elements = {z: {'z':z,'sym':sym,'name':name,'py':py,'cat':cat} for z,sym,name,py,cat in raw}

group positions for main table; lanthanides/actinides represented by placeholders in group 3

positions = { 1:{1:1,18:2}, 2:{1:3,2:4,13:5,14:6,15:7,16:8,17:9,18:10}, 3:{1:11,2:12,13:13,14:14,15:15,16:16,17:17,18:18}, 4:{g:z for g,z in zip(range(1,19),range(19,37))}, 5:{g:z for g,z in zip(range(1,19),range(37,55))}, 6:{1:55,2:56,3:'lanth',4:72,5:73,6:74,7:75,8:76,9:77,10:78,11:79,12:80,13:81,14:82,15:83,16:84,17:85,18:86}, 7:{1:87,2:88,3:'act',4:104,5:105,6:106,7:107,8:108,9:109,10:110,11:111,12:112,13:113,14:114,15:115,16:116,17:117,18:118} }

colors = { 'alkali':'F6C3C3','alkaline':'F8D9B5','transition':'F4EDB3','post':'D7E9B9', 'metalloid':'BFE3CC','nonmetal':'B8E2E8','halogen':'C6D8F5','noble':'D9C8F2', 'lanthanide':'F8CFE6','actinide':'E8C5E8','placeholder':'E6E6E6' } labels = { 'alkali':'碱金属','alkaline':'碱土金属','transition':'过渡金属','post':'后过渡金属', 'metalloid':'类金属','nonmetal':'其他非金属','halogen':'卤素','noble':'稀有气体', 'lanthanide':'镧系','actinide':'锕系' }

wb = Workbook() ws = wb.active ws.title = '元素周期表' ws.sheet_view.showGridLines = False

dimensions

ws.column_dimensions['A'].width = 5.2 for c in range(2, 38): ws.column_dimensions[get_column_letter(c)].width = 4.1 for r in range(1, 40): ws.row_dimensions[r].height = 18

Title

ws.merge_cells(start_row=1,start_column=1,end_row=2,end_column=37) ws['A1']='元素周期表|中文注音版' ws['A1'].font=Font(name='Noto Sans CJK SC',size=22,bold=True,color='1F2937') ws['A1'].alignment=Alignment(horizontal='center',vertical='center') ws.row_dimensions[1].height=28 ws.row_dimensions[2].height=12

ws.merge_cells(start_row=3,start_column=1,end_row=3,end_column=37) ws['A3']='每格依次显示:原子序数|元素符号|中文名称|汉语拼音(带声调) · 104–118号部分字为扩展汉字,建议使用现代Unicode字体。' ws['A3'].font=Font(name='Noto Sans CJK SC',size=9,color='4B5563') ws['A3'].alignment=Alignment(horizontal='center',vertical='center')

group labels row 5

ws['A5']='周期/族' ws['A5'].font=Font(name='Noto Sans CJK SC',size=9,bold=True,color='374151') ws['A5'].alignment=Alignment(horizontal='center',vertical='center') for g in range(1,19): c1 = 2+(g-1)*2 ws.merge_cells(start_row=5,start_column=c1,end_row=5,end_column=c1+1) cell=ws.cell(5,c1,g) cell.font=Font(name='Noto Sans CJK SC',size=9,bold=True,color='374151') cell.alignment=Alignment(horizontal='center',vertical='center')

thin_gray = Side(style='thin', color='AAB2BD') medium_gray = Side(style='medium', color='7B8794') box_border = Border(left=thin_gray,right=thin_gray,top=thin_gray,bottom=thin_gray)

helper to draw element block 2 cols x 3 rows

def draw_block(top, group, item): c1=2+(group-1)*2; c2=c1+1 if isinstance(item,int): e=elements[item] fill=PatternFill('solid',fgColor=colors[e['cat']]) for rr in range(top,top+3): for cc in range(c1,c2+1): ws.cell(rr,cc).fill=fill ws.cell(rr,cc).border=box_border ws.cell(top,c1,e['z']) ws.cell(top,c1).font=Font(name='Arial',size=8,color='374151') ws.cell(top,c1).alignment=Alignment(horizontal='left',vertical='center') ws.cell(top,c2,e['sym']) ws.cell(top,c2).font=Font(name='Arial',size=12,bold=True,color='111827') ws.cell(top,c2).alignment=Alignment(horizontal='right',vertical='center') ws.merge_cells(start_row=top+1,start_column=c1,end_row=top+1,end_column=c2) ws.cell(top+1,c1,e['name']) ws.cell(top+1,c1).font=Font(name='Noto Sans CJK SC',size=12,bold=True,color='111827') ws.cell(top+1,c1).alignment=Alignment(horizontal='center',vertical='center') ws.merge_cells(start_row=top+2,start_column=c1,end_row=top+2,end_column=c2) ws.cell(top+2,c1,e['py']) ws.cell(top+2,c1).font=Font(name='Arial',size=8,italic=True,color='374151') ws.cell(top+2,c1).alignment=Alignment(horizontal='center',vertical='center') else: fill=PatternFill('solid',fgColor=colors['placeholder']) for rr in range(top,top+3): for cc in range(c1,c2+1): ws.cell(rr,cc).fill=fill ws.cell(rr,cc).border=box_border ws.merge_cells(start_row=top,start_column=c1,end_row=top+2,end_column=c2) cell=ws.cell(top,c1) if item=='lanth': cell.value='57–71\n镧系\nlán xì' else: cell.value='89–103\n锕系\nā xì' cell.font=Font(name='Noto Sans CJK SC',size=8,bold=True,color='4B5563') cell.alignment=Alignment(horizontal='center',vertical='center',wrap_text=True)

main periods start row 7, 3 rows each + 1 spacer

period_top = {} for p in range(1,8): top=7+(p-1)*4 period_top[p]=top ws.merge_cells(start_row=top,start_column=1,end_row=top+2,end_column=1) ws.cell(top,1,p) ws.cell(top,1).font=Font(name='Arial',size=10,bold=True,color='374151') ws.cell(top,1).alignment=Alignment(horizontal='center',vertical='center') for g,item in positions[p].items(): draw_block(top,g,item)

f-block labels and cells

lan_top=36 act_top=40 for title,top,seq,cat in [('镧系',lan_top,range(57,72),'lanthanide'),('锕系',act_top,range(89,104),'actinide')]: ws.merge_cells(start_row=top,start_column=1,end_row=top+2,end_column=5) ws.cell(top,1,title) ws.cell(top,1).font=Font(name='Noto Sans CJK SC',size=11,bold=True,color='374151') ws.cell(top,1).alignment=Alignment(horizontal='center',vertical='center') # start at group-like offset: columns F-G then onward for i,z in enumerate(seq): c1=6+i*2; c2=c1+1 e=elements[z] fill=PatternFill('solid',fgColor=colors[cat]) for rr in range(top,top+3): for cc in range(c1,c2+1): ws.cell(rr,cc).fill=fill; ws.cell(rr,cc).border=box_border ws.cell(top,c1,e['z']); ws.cell(top,c1).font=Font(name='Arial',size=8,color='374151'); ws.cell(top,c1).alignment=Alignment(horizontal='left') ws.cell(top,c2,e['sym']); ws.cell(top,c2).font=Font(name='Arial',size=11,bold=True,color='111827'); ws.cell(top,c2).alignment=Alignment(horizontal='right') ws.merge_cells(start_row=top+1,start_column=c1,end_row=top+1,end_column=c2) ws.cell(top+1,c1,e['name']); ws.cell(top+1,c1).font=Font(name='Noto Sans CJK SC',size=11,bold=True,color='111827'); ws.cell(top+1,c1).alignment=Alignment(horizontal='center') ws.merge_cells(start_row=top+2,start_column=c1,end_row=top+2,end_column=c2) ws.cell(top+2,c1,e['py']); ws.cell(top+2,c1).font=Font(name='Arial',size=8,italic=True,color='374151'); ws.cell(top+2,c1).alignment=Alignment(horizontal='center')

legend below f-block

legend_row=44 ws.merge_cells(start_row=legend_row,start_column=1,end_row=legend_row,end_column=37) ws.cell(legend_row,1,'颜色分类仅用于辅助辨识;部分超重元素的化学分类仍可能随研究进展而调整。') ws.cell(legend_row,1).font=Font(name='Noto Sans CJK SC',size=8,color='6B7280') ws.cell(legend_row,1).alignment=Alignment(horizontal='center')

legend_row2=45 col=2 for key in ['alkali','alkaline','transition','post','metalloid','nonmetal','halogen','noble','lanthanide','actinide']: ws.merge_cells(start_row=legend_row2,start_column=col,end_row=legend_row2,end_column=col+2) cell=ws.cell(legend_row2,col,labels[key]) cell.fill=PatternFill('solid',fgColor=colors[key]) cell.border=box_border cell.font=Font(name='Noto Sans CJK SC',size=8,color='374151') cell.alignment=Alignment(horizontal='center') col += 3

print settings

ws.freeze_panes='B7' ws.page_setup.orientation='landscape' ws.page_setup.paperSize = ws.PAPERSIZE_A3 ws.page_setup.fitToWidth=1 ws.page_setup.fitToHeight=1 ws.sheet_properties.pageSetUpPr.fitToPage = True ws.page_margins=PageMargins(left=0.25,right=0.25,top=0.35,bottom=0.35,header=0.1,footer=0.1) ws.print_area='A1:AK45' ws.oddFooter.center.text = '中文注音元素周期表 · 118个元素' ws.oddFooter.center.size = 8

sequential list sheet

ls=wb.create_sheet('元素清单') ls.sheet_view.showGridLines=False headers=['原子序数','符号','中文名称','拼音','类别','来源'] for c,h in enumerate(headers,1): cell=ls.cell(1,c,h) cell.font=Font(name='Noto Sans CJK SC',size=10,bold=True,color='FFFFFF') cell.fill=PatternFill('solid',fgColor='34495E') cell.alignment=Alignment(horizontal='center',vertical='center') ls.freeze_panes='A2' ls.auto_filter.ref='A1:F119' source_official='https://www.chemsoc.org.cn/international/news/a2613.html' source_new='https://www.xinhuanet.com/politics/2017-05/10/c_129598979.htm' source_rare='https://www.zhouqibiao123.com/?lang=zh-cn' for idx,(z,sym,name,py,cat) in enumerate(raw,2): vals=[z,sym,name,py,labels.get(cat,cat),source_official] if z>=104: vals[-1]=source_official+'\n'+source_rare if z in (113,115,117,118): vals[-1]=source_official+'\n'+source_new for c,v in enumerate(vals,1): cell=ls.cell(idx,c,v) cell.font=Font(name='Noto Sans CJK SC' if c in (3,5,6) else 'Arial',size=9,color='374151') cell.alignment=Alignment(vertical='center',wrap_text=True,horizontal='center' if c<=5 else 'left') ls.cell(idx,3).font=Font(name='Noto Sans CJK SC',size=11,bold=True,color='111827') ls.cell(idx,4).font=Font(name='Arial',size=10,italic=True,color='374151') ls.cell(idx,1).fill=PatternFill('solid',fgColor=colors[cat]) ls.row_dimensions[idx].height=23

for width,col_letter in [(11,'A'),(10,'B'),(14,'C'),(14,'D'),(16,'E'),(58,'F')]: ls.column_dimensions[col_letter].width=width ls.row_dimensions[1].height=24 ls.page_setup.orientation='portrait' ls.page_setup.fitToWidth=1 ls.page_setup.fitToHeight=0 ls.sheet_properties.pageSetUpPr.fitToPage=True ls.page_margins=PageMargins(left=0.35,right=0.35,top=0.45,bottom=0.45,header=0.2,footer=0.2) ls.oddFooter.center.text='元素清单 · 中文名称与拼音'

Notes/source sheet

nt=wb.create_sheet('说明与来源') nt.sheet_view.showGridLines=False nt.column_dimensions['A'].width=22 nt.column_dimensions['B'].width=90 notes=[ ('使用说明','本工作簿包含“元素周期表”和“元素清单”两张学习用表。周期表每格含原子序数、元素符号、中文名称和带声调拼音。'), ('读音标准','拼音按普通话常用规范标注。容易误读的如:钌 liǎo、钯 bǎ、镝 dī、镤 pú。'), ('生僻字提示','104–118号中含扩展汉字:𬬻、𬭊、𬭳、𬭛、𬭶、鿏、𫟼、𬬭、鿔、鿭、𫓧、𫟷、鿬、鿫。若显示为方框,请换用支持新版Unicode/CJK扩展字的字体或系统。'), ('官方元素表','https://www.chemsoc.org.cn/international/news/a2613.html'), ('113/115/117/118官方定音','https://www.xinhuanet.com/politics/2017-05/10/c_129598979.htm'), ('全国科技名词委','https://www.cnterm.cn/xc/spzx/202308/t20230831_760654.html'), ('104–118读音交叉核对','https://www.zhouqibiao123.com/?lang=zh-cn'), ] for r,(k,v) in enumerate(notes,1): nt.cell(r,1,k); nt.cell(r,2,v) nt.cell(r,1).font=Font(name='Noto Sans CJK SC',size=10,bold=True,color='FFFFFF') nt.cell(r,1).fill=PatternFill('solid',fgColor='4A627A') nt.cell(r,2).font=Font(name='Noto Sans CJK SC',size=10,color='374151') nt.cell(r,1).alignment=Alignment(vertical='top',wrap_text=True) nt.cell(r,2).alignment=Alignment(vertical='top',wrap_text=True) nt.row_dimensions[r].height=34 if r<=3 else 24

Workbook metadata

wb.properties.title='元素周期表|中文注音版' wb.properties.subject='118个化学元素的中文名称和汉语拼音' wb.properties.creator='OpenAI'

out='/mnt/data/中文注音元素周期表.xlsx' wb.save(out)

Basic integrity checks

check=load_workbook(out, data_only=False) assert check['元素清单'].max_row == 119 assert check['元素清单']['C2'].value == '氢' assert check['元素清单']['D119'].value == 'ào' assert check['元素清单']['C119'].value == '鿫' assert check['元素清单']['C114'].value == '鿭' # row = z + 1 for z=113 assert check['元素清单']['D45'].value == 'liǎo' # z=44 -> row45 assert check['元素清单']['D47'].value == 'bǎ' # z=46 -> row47 print(out) print('sheets:', check.sheetnames) print('rows:', check['元素清单'].max_row, 'cols:', check['元素清单'].max_column) print('checks: OK') PY python /mnt/data/create_periodic_table.py ls -lh /mnt/data/中文注音元素周期表.xlsx

Created Chinese pronunciation periodic table spreadsheet and inspected rendering capabilities

Worked for 1m 50s

Antwort

做好了。我制作成了 Excel 中文注音版元素周期表,方便学习、修改和打印。

里面包括:

  • 118 个化学元素
  • 原子序数、元素符号
  • 中文名称
  • 汉语拼音(带声调)
  • 镧系、锕系单独排列
  • 按元素类别配色
  • 另附完整的“元素清单”和“说明与来源”
  • 已设置为 A3 横向打印

113、115、117、118 号元素的中文命名及定音也按正式公布的信息核对。(Chemical Society of China)

📗 下载《中文注音元素周期表.xlsx》

如果你愿意,我还可以继续给你做一个 高清彩色 PDF 打印版,更适合直接贴在墙上或给孩子学习用。

Diesen Q&A teilen