目录
第1关:循环与列表 - 生成奇数列表
编程要求
请分别在右侧编辑器中的Odd_For
,Odd_While
两个函数中,使用for
和while
两种循环结构,生成并返回一个包含奇数的**列表list
**。
这两个函数都有一个参数n
,返回的列表应该包括 1 到n
内的所有奇数。注意:如果n
是偶数,那么生成的最大奇数是n-1
。
注意:评测系统会自动读取输入的数据,并将其传递给Odd_For
,Odd_While
两个函数,学生只需要关注这两个函数的实现即可。
def Odd_For(n):
odds = []
#使用for循环向odds列表中添加数据
# 请在此添加实现代码 #
# ********** Begin *********#
for i in range (1,n+1):
if(i % 2 != 0):
odds.append(i)
return odds
# ********** End **********#
return odds
def Odd_While(n):
odds = []
#使用while循环向odds列表中添加数据
# 请在此添加实现代码 #
# ********** Begin *********#
i = 1
while(i <= n):
if(i % 2 != 0):
odds.append(i)
i += 1
return odds
# ********** End **********#
return odds
第2关:计算原子能级
编程要求
右侧编辑器中有一个EnLevel
函数,它有一个参数n
,范围是 1 - 20 。
请在这个函数中实现基于上面电子能级公式的电子的n
级能级计算并输出,保留 5 位小数。
输入数据由评测系统负责读取并传递给EnLevel
函数,学生只需要关注这个函数的实现。
def EnLevel(n):
#请在这里编写程序,完成本关任务
# 请在此添加实现代码 #
# ********** Begin *********#
me=9.1094e-31
e=1.6022e-19
epsilon0=8.8542e-12
h=6.6261e-34
en = ((-1) * me * e ** 4) / (8 * epsilon0 ** 2 * h ** 2 * n ** 2)
print("%.5e"%en)
# ********** End **********#
第3关:嵌套循环 - 跃迁能量表
编程要求
请在右侧编辑器的EnList
函数中,打印出电子跃迁到某个能级时的释放的能量的表格。
这个函数有一个参数maxn
,代表要输出的行数,范围为 1 - 20 。
表格总共 5 列,从左至右依次代表电子的起始能级 1 - 5 。表格的每一行代表不同起始能级的电子跃迁到此能级所释放的能量。表格从能级 1 开始。
注意:需要打印表头,以及控制表格格式,具体要求请见测试说明。
输入数据由评测系统负责读取并传递给EnList
函数,学生只需要关注这个函数的实现。
def EnList(maxn):
# 请在这里编写程序,打印跃迁能量表
me = 9.1094e-31
e = 1.6022e-19
epsilon0 = 8.8542e-12
h = 6.6261e-34
print(" |能级1\t\t能级2\t\t能级3\t\t能级4\t\t能级5")
print("--------------------------------------------------------------------------------")
en = (me * e ** 4) / (8 * epsilon0 ** 2 * h ** 2)
for i in range(1, maxn + 1):
print("%d | "%i,end='')
for j in range(1,6):
En = en * (1 / i ** 2 - 1 / j ** 2)
if En == 0:
print("-%.6E\t"%En,end='')
else:
print("%.6E\t"%En,end='')
if j == 5:
print("\n",end='')