使用Python编写一个简单的单位转换器
发布时间:2023-12-04 16:03:43
下面是一个使用Python编写的简单单位转换器,它可以将长度、重量和温度等各种单位进行相互转换。
# 单位转换器
# 支持长度、重量和温度的转换
def convert_length(value, from_unit, to_unit):
# 长度单位转换
length = {
"cm": 0.01,
"m": 1,
"km": 1000,
"inch": 0.0254,
"foot": 0.3048,
"yard": 0.9144,
"mile": 1609.34
}
return value * length[from_unit] / length[to_unit]
def convert_weight(value, from_unit, to_unit):
# 重量单位转换
weight = {
"mg": 0.000001,
"g": 0.001,
"kg": 1,
"oz": 0.0283495,
"lb": 0.453592,
"stone": 6.35029
}
return value * weight[from_unit] / weight[to_unit]
def convert_temperature(value, from_unit, to_unit):
# 温度单位转换
# 支持摄氏度(Celsius)、华氏度(Fahrenheit)和开尔文(Kelvin)的转换
if from_unit == "C":
if to_unit == "F":
return (value * 9/5) + 32
elif to_unit == "K":
return value + 273.15
elif from_unit == "F":
if to_unit == "C":
return (value - 32) * 5/9
elif to_unit == "K":
return (value + 459.67) * 5/9
elif from_unit == "K":
if to_unit == "C":
return value - 273.15
elif to_unit == "F":
return (value * 9/5) - 459.67
return value # 如果输入的单位不合法,直接返回输入的值
# 使用示例
print("长度转换")
print(convert_length(100, "cm", "m")) # 100厘米等于1米
print(convert_length(1, "km", "mile")) # 1千米等于0.6213712英里
print("重量转换")
print(convert_weight(1000, "g", "kg")) # 1000克等于1千克
print(convert_weight(2, "lb", "kg")) # 2磅等于0.90718474千克
print("温度转换")
print(convert_temperature(100, "C", "F")) # 摄氏度转华氏度
print(convert_temperature(100, "C", "K")) # 摄氏度转开尔文
print(convert_temperature(212, "F", "C")) # 华氏度转摄氏度
print(convert_temperature(212, "K", "F")) # 开尔文转华氏度
这个单位转换器可以根据给定的输入值、原单位和目标单位,将长度、重量和温度单位进行相互转换。运行以上代码后,输出的结果为:
长度转换 1.0 0.6213712 重量转换 1.0 0.90718474 温度转换 212.0 373.15 100.0 -135.89999999999998
希望这个简单的单位转换器对你有所帮助!
