在Python中进行单位换算,你可以使用内置的数学函数和自定义的函数来实现。以下是一些常见的单位换算示例:
长度单位换算
def length_conversion(value, from_unit, to_unit):
if from_unit == "cm":
if to_unit == "dm":
return value / 10
elif to_unit == "m":
return value / 100
elif to_unit == "km":
return value /
可以添加更多的单位换算
示例使用
cm_value = 100
to_dm = length_conversion(cm_value, "cm", "dm")
print(f"{cm_value} cm is equal to {to_dm} dm")
时间单位换算
def time_conversion(milliseconds):
hours = milliseconds /
minutes = milliseconds / 60
seconds = milliseconds / 3600
return hours, minutes, seconds
示例使用
milliseconds = 66666
hours, minutes, seconds = time_conversion(milliseconds)
print(f"Milliseconds: {milliseconds}\nHours: {hours}\nMinutes: {minutes}\nSeconds: {seconds}")
数据存储单位换算
class Units(Enum):
B = 1
KB = 1024 * Units.B.value
MiB = 1024 * Units.KB.value
GB = 1024 * Units.MiB.value
TB = 1024 * Units.GB.value
def bytes_to_human(n):
symbols = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB', 'BB', 'NB', 'DB']
prefix = {s: 10 (i + 1) * Units.B.value for i, s in enumerate(symbols)}
for symbol in reversed(symbols):
if n >= prefix[symbol]:
value = n / prefix[symbol]
return f"{value:.2f} {symbol}"
n %= prefix[symbol]
return f"{n:.2f} B"
示例使用
bytes_value =
human_readable = bytes_to_human(bytes_value)
print(f"Bytes: {bytes_value}\nHuman readable: {human_readable}")
温度单位换算
def temperature_conversion(celsius, to_unit):
if to_unit == "fahrenheit":
return celsius * 9/5 + 32
可以添加更多的温度单位换算
示例使用
celsius_value = 25
to_fahrenheit = temperature_conversion(celsius_value, "fahrenheit")
print(f"{celsius_value}°C is equal to {to_fahrenheit}°F")
以上示例展示了如何在Python中进行基本的长度、时间、数据存储和温度单位换算。你可以根据需要扩展这些函数,添加更多的单位和换算关系