Python 计算思维训练——循环与列表(三)

本文介绍了Python编程中的计算思维训练,包括如何使用for和while循环生成奇数列表,计算原子能级的公式,以及嵌套循环实现跃迁能量表。通过实例展示了循环结构在解决实际问题中的应用。
摘要由CSDN通过智能技术生成

Python 计算思维训练——循环与列表(三)

第1关:循环与列表 - 生成奇数列表

题目

在这里插入图片描述

代码

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关:计算原子能级

题目

在这里插入图片描述

代码

def EnLevel(n):
    #请在这里编写程序,完成本关任务
    #   请在此添加实现代码   #
    # ********** Begin *********#
    me=9.1094e-31
    e=1.6022e-19
    epsilon0=8.8542e-12
    h=6.6261e-34
    En = -(me*e**4)/(8*epsilon0**2*h**2) * 1/(n*n)
    print("%.5e"%En)

    # ********** End **********#

第3关:嵌套循环 - 跃迁能量表

题目

在这里插入图片描述

代码

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("--------------------------------------------------------------------------------")
    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+00
        print('{:} | {:.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]))
  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值