出现了none
import numpy as npbc = float(input('请输入入射光波长入:'))
a = 0.3187
d = 0
def mile(x):
for h in range(0,7):
for k in range(0,7):
for l in range(0,7):
if (h + k + l) %2 == 0 and h + k +l != 0:
d = a/np.sqrt(h**2+k**2+l**2)
if d >= x/2:
print('(%d%d%d)'%(h,k,l),end=(' '))
else:
d = 0
else:
d = 0
print(mile(bc))
输出结果:
请输入入射光波长入:0.1542
(002) (004) (011) (013) (020) (022) (031) (040) (101) (103) (110) (112) (121) (123) (130) (132) (200) (202) (211) (213) (220) (222) (231) (301) (310) (312) (321) (400) None
如果我用def定义直接使用的话就没有none这是什么情况 mile()函数没有return语句,自动返回None,None被print()函数接收到,输出None
如果直接使用,None没有被print()函数接收,自然就不会输出 lhgzbxhz 发表于 2020-10-11 10:34
mile()函数没有return语句,自动返回None,None被print()函数接收到,输出None
如果直接使用,None没有被p ...
那我该return什么东西才能使调用mile()函数print出来的结果和不用函数输出出来的结果一致? 伊笑丶 发表于 2020-10-11 10:40
那我该return什么东西才能使调用mile()函数print出来的结果和不用函数输出出来的结果一致?
不可能
我们一般都是这样解决的:只能通过print()输出,不能通过mile()输出
只要把mile()函数里的print()改成return就好了
页:
[1]