我正在尝试在 Python 中制作一个基本的转换程序,以在给定频率(反之亦然)时计算光子的波长,因为我的计算器使用起来真的很令人沮丧。它适用于我的第一次计算:
Convert to frequency or wavelength? (hz/wl) hz
What is the wavelength? 7.24e-07
414364640883977.0
但是当我试图转换成波长并给它一个 4.80e15 的频率时,它只是返回“0.0”:
Convert to frequency or wavelength? (hz/wl) wl
What is the frequency? 4.80e015
0.0
是不是哪里有问题?我导入了数学和数字,以防万一可能会解决问题,但似乎没有帮助。
def converter():
import numbers
import math
conversion = input("Convert to frequency or wavelength? (hz/wl) ")
if conversion == "hz":
wl = eval(input("What is the wavelength? "))
c = 3.00e08
hz = c // wl
print(hz)
if conversion == "wl":
hz = eval(input("What is the frequency? "))
c = 3.00e08
wl = c // hz
print(wl)
converter()
我尝试了其他几个值,并降低了整体规模(使所有内容减少 10^8),但这并没有改变任何东西。