educoder:第3关:嵌套循环 - 跃迁能量表
任务描述
本关任务:编写一个能打印氢原子电子跃迁释放的能量的表格的小程序。
相关知识
氢原子电子跃迁
电子从一个能级跃迁到另外一个能级时会释放出相应的能力,具体的,从能级ni跃迁到能级nf所释放的能量为:
ΔEn=−\df8ε02h2mee4⋅(\dfni21−\dfnf21)
其中: me=9.1094×10−31kg是电子质量; e=1.6022×10−19C是基本电荷; ε0=8.8542×10−12C2s2kg−1m−3是真空介电常数; h=6.6261×10−34Js是普朗克常量。
循环与列表
本关实训涉及到的循环与列表核心知识点请参考实训《Python计算思维训练 - 循环与列表(一)》的相关内容和授课视频。
编程要求
请在右侧编辑器的EnList
函数中,打印出电子跃迁到某个能级时的释放的能量的表格。
这个函数有一个参数maxn
,代表要输出的行数,范围为 1 - 20 。
表格总共 5 列,从左至右依次代表电子的起始能级 1 - 5 。表格的每一行代表不同起始能级的电子跃迁到此能级所释放的能量。表格从能级 1 开始。
注意:需要打印表头,以及控制表格格式,具体要求请见测试说明。
输入数据由评测系统负责读取并传递给EnList
函数,学生只需要关注这个函数的实现。
测试说明
测试代码会按照如下方式调用这两个函数:
maxn = int(input())
EnList(maxn)
本关测试样例如下。
测试输入: 3
预期输出:
|能级1 能级2 能级3 能级4 能级5
--------------------------------------------------------------------------------
1 | -0.000000E+00 1.634983E-18 1.937758E-18 2.043729E-18 2.092779E-18
2 | -1.634983E-18 -0.000000E+00 3.027747E-19 4.087458E-19 4.577953E-19
3 | -1.937758E-18 -3.027747E-19 -0.000000E+00 1.059711E-19 1.550206E-19
注意:
表头的文字之间的空白是两个制表符
\t
。表内每一行的数据之间的空白部分是一个制表符
\t
。数据使用指数格式输出,即
{:E}
。
由于网页渲染的原因,上面的结果在格式上与真实结果有差异,可以参考测试集 1 的预期输出。
开始你的任务吧,祝你成功!
def EnList(maxn):# 请在这里编写程序,打印跃迁能量表me = 9.1094e-31e = 1.6022e-19epsilon0 = 8.8542e-12h = 6.6261e-34print(" |能级1\t\t能级2\t\t能级3\t\t能级4\t\t能级5")print("--------------------------------------------------------------------------------")list_en = []list_i = [0, 0, 0, 0, 0]for i in range(1, 6):list_en.append(-(me * e ** 4) / (8 * (epsilon0 ** 2) * h ** 2) * 1 / (i * i))for i in range(6, maxn + 1):list_en.append(-(me * e ** 4) / (8 * (epsilon0 ** 2) * h ** 2) * 1 / (i * i))for i in range(1, maxn + 1):for j in range(1, 6):list_i[j - 1] = list_en[j - 1] - list_en[i - 1]if list_i[j - 1] == 0.000000E+00:list_i[j - 1] = -0.000000E+00print('{:} | {:.6E}\t{:.6E}\t{:.6E}\t{:.6E}\t{:.6E}\t'.format(i, list_i[0], list_i[1], list_i[2], list_i[3],list_i[4]))
educoder:第3关:嵌套循环 - 跃迁能量表相关推荐
- 第4关 配置文件与样式表 (educoder
编程要求 在右侧编辑器补充代码,根据输入数据绘制直方图调整直方图颜色为红色透明度0.7为,并设置组合样式classic和bmh,具体要求如下: 折线图的figsize为(10, 10) 图形需保存到T ...
- html 表格,列表,表单,select和下拉选框,textarea多行文本域,label关联控件,表单,浮动框架,结构化标签
1. 表格 表格的语法 (1) table标签: 表示表格的开始和结束.表格的所有内容都需要写在这一对标签里 (2) tr标签: 表示表格中的一行 table row (3) td标签:要写在tr中, ...
- Educoder -- Web程序设计基础2021秋--简历表页面的制作
文章目录 第1关: 简历表页面的结构设计 1. 编程要求 2. 代码展示 第2关: 简历表页面的样式设计 1. 编程要求 2. 代码展示 第1关: 简历表页面的结构设计 1. 编程要求 根据任务描述的 ...
- educoder第6关:5位无符号阵列乘法器设计
实验目的 帮助学生掌握阵列乘法器的实现原理,能够分析阵列乘法器的性能,能在 Logisim 中绘制阵列乘法器电路. 实验内容 在 Logisim 中打开 alu.circ 文件,在5位阵列乘法器中实现 ...
- educoder第5关:32位快速加法器设计
实验目的 帮助学生理解成组进位产生函数,成组进位传递函数的概念,熟悉 Logisim 平台子电路的概念,能利用前述实验封装好的4位先行进位子电路以及4位快速加法器子电路构建16位.32位.64位快速加 ...
- 第30关:删除顺序表中指定值的所有元素
任务描述 本关任务:利用顺序表表示一个包括n个整数的序列,请实现一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法可以删除表中所有值为item的元素. 编程要求 输入 多组数据,每组数据有三 ...
- python/educoder第4关:综合运用
#综合运用 #任务1 在begin和end间空白处填写代码 #begin ss1=input() a=list(ss1) print(a) b=tuple(ss1) print(b) #end#任务2 ...
- 【 第11关:基于邻接表的深度优先遍历】【编程题实训-图】【头歌】【bjfu-282】
任务描述 一个连通图采用邻接表作为存储结构.设计一个算法,实现从顶点v出发的深度优先遍历的非递归过程. 编程要求 输入 多组数据,每组m+2数据行.第一行有两个数字n和m,代表有n个顶点和m条边.顶点 ...
- python/educoder 第1关:字符串基本操作
本关任务的目的是了解字符类型的特点,熟悉字符串的一些基本操作,包括赋值.拼接.重复.长度.索引.查找.替换.反转等常用操作.字符串最常见的一种基本数据类型.字符串是许多单个子串组成的序列,其主要是用来 ...
最新文章
- 实践人生 —— 一个普通IT人的十年回顾(下)
- Codeforces Gym 100269 Dwarf Tower (最短路)
- 基于Pygame的Python小游戏,《这是一场滑稽与阴险的较量》
- oracle11g安装中的问题
- fzu1062 洗牌问题(思路模拟)
- 启明云端分享|一组图带你快速了解乐鑫ESP MCU系列产品
- C#规范整理·集合和Linq
- 电子密封胶正常固化与非正常固化差别是什么?
- win11系统通知怎么取消 Windows11取消系统通知的步骤方法
- c++ 退出函数_UCOSIII源码分析之——bsp_os.c文件分析
- 微信小程序 选择微信自带的地址 用户授权选择了拒绝
- 适合Java初学者的项目
- 【软件工程】-数据库设计说明书
- Android NDK开发1——开发流程+依赖外部so+生成自实现so+静态注册JNI+动态注册JNI
- 北京邮电计算机课程表,(北邮通信工程本科专业课程表.doc
- 嵌入式linux:通过qemu模拟mini2440开发环境
- 教你如何拔取百度地图POI兴趣点
- OpenCV (c++)使用KDTree时,得到正确结果后报Segmentation fault (core dumped)
- atcoder Beginner Contest 156 Roaming(组合数学 插板法)
- Ajax vs Willem II,Ajax is bedrijfsongeval weer te boven