تمرين إعادة البناء
محوّل درجات الحرارة
أعد كتابة أداة Python صغيرة لتحويل درجات الحرارة بين Celsius وFahrenheit وKelvin.
python
~10 دقيقة
مبتدئ
أعد بناء الكود
Rebuild
هذا هو الكود. اكتبه بنفسك.
الكود المرجعي
import argparse
def to_celsius(value: float, unit: str) -> float:
if unit == "c":
return value
if unit == "f":
return (value - 32) * 5 / 9
if unit == "k":
return value - 273.15
raise ValueError(f"Unknown unit: {unit}")
def from_celsius(value: float, unit: str) -> float:
if unit == "c":
return value
if unit == "f":
return value * 9 / 5 + 32
if unit == "k":
return value + 273.15
raise ValueError(f"Unknown unit: {unit}")
def convert_temperature(value: float, from_unit: str, to_unit: str) -> float:
celsius = to_celsius(value, from_unit.lower())
return from_celsius(celsius, to_unit.lower())
def main() -> None:
parser = argparse.ArgumentParser(description="Convert C, F, and K temperatures.")
parser.add_argument("value", type=float)
parser.add_argument("from_unit", choices=["c", "f", "k"])
parser.add_argument("to_unit", choices=["c", "f", "k"])
args = parser.parse_args()
result = convert_temperature(args.value, args.from_unit, args.to_unit)
print(f"{args.value:.2f}°{args.from_unit.upper()} = {result:.2f}°{args.to_unit.upper()}")
if __name__ == "__main__":
main()اكتب هنا