上一次做的那个代码
用电脑还好
用手机或者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))
领取专属 10元无门槛券
私享最新 技术干货