私の計算機は本当にイライラするので、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 小さくしました) が、何も変わりませんでした。