首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

改良版python计算TE、TM截止波长

上一次做的那个代码

用电脑还好

用手机或者iPad每次都要重新输入m和n的数值

麻烦得很

所以做了一个改良版的

是一个死循环

反正手机或者iPad版本的ide退出程序非常方便

import math

import numpy as np

while True:

A = []

a=float(input('请输入a的大小(米制):'))

b=float(input('请输入b的大小(米制):'))

def power(x):

return x*x

for m in range(0, 5):

A.append([])

for n in range(0, 5):

if(m==n==0):

continue

else:

d=power(m/a)+power(n/b)

e=math.sqrt(d)

f=2/e

A[m].append(f)

print(str(m).rjust(2), str(n).rjust(3), end=' ')

print(str(f).rjust(5))

if(m>=1):

Q=np.hstack((A[m-1],A[m]))

print(sorted(Q,reverse=True))

方法跟上一次的一样

打开Python3IDE

把代码复制上去

然后运行

就可以啦~

上面的代码是改良过的

增加了排序功能

最后可以把各个模式下的截止波长从大到小排序

如果不喜欢最终的排序或者没有导入np的

可以赋值下面的代码

import math

while True:

a=float(input('请输入a的大小(米制):'))

b=float(input('请输入b的大小(米制):'))

def power(x):

return x*x

for m in range(0, 5):

for n in range(0, 5):

if(m==n==0):

continue

else:

d=power(m/a)+power(n/b)

e=math.sqrt(d)

f=2/e

print(str(m).rjust(2), str(n).rjust(3), end=' ')

print(str(f).rjust(5))

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190107G1DQV300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券