gpt4 book ai didi

python - 尝试制作一个基本的波长/频率转换器,大值是有问题的

转载 作者:太空宇宙 更新时间:2023-11-03 18:48:35 25 4
gpt4 key购买 nike

我正在尝试用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),但这并没有改变任何东西。

最佳答案

// 是 Python 中的楼层划分。您确实想要 float 除法吗?

>>> 3e8 // 4.8e15  # returns the floor
0.0
>>> 3e8 / 4.8e15
6.25e-08

换句话说,将代码中的 // 替换为 / 。我打赌你会更快乐;-)

关于python - 尝试制作一个基本的波长/频率转换器,大值是有问题的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18886045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com