Search⌘ K
AI Features

المشروع: محول درجة الحرارة

تدرب على مشروع Python الذي يحول بين درجات الحرارة المئوية وفهرنهايت وكلفن.

أنشئ برنامجًا Python يُحوّل درجات الحرارة بين درجات مئوية وفهرنهايت وكلفن. الهدف هو مساعدة المتعلمين على فهم أساسيات معالجة إدخال ، والشروط، والعمليات الحسابية، والدوال - كل ذلك في سياق عملي وواقعي.

الأهداف

بحلول نهاية هذا المشروع، ستكون قادرًا على:

  • تحويل درجات الحرارة بين مئوية وفهرنهايت وكلفن.

  • يستخدمinput() للحصول على إدخال المستخدم.

  • تطبيق الشروط (if ،elif ،else ) للتحكم في تدفق البرنامج.

  • استخدم الوظائف لتنظيم الكود من أجل إمكانية إعادة الاستخدام والوضوح.

  • التعامل مع إدخال غير الصالحة بشكل جيد.

تفاصيل المشروع

  • اطبع رسالة ترحيب، واشرح خيارات التحويل، واطلب من المستخدم اختيار أحدها.

  • احصل على اختيار المستخدم ودرجة الحرارة التي تريد تحويلها؛ التعامل مع إدخال غير الصالح.

  • اكتب دالة منفصلة لكل نوع من أنواع تحويلات درجة الحرارة.

  • يستخدمif/elif/else لاستدعاء الوظيفة الصحيحة وعرض النتيجة.

الخطوة 1: إعداد البرنامج

  • طباعة رسالة ترحيب.

  • اشرح أنواع التحويل المتاحة.

  • اطلب من المستخدم اختيار نوع التحويل (على سبيل المثال، من مئوية إلى فهرنهايت).

print("🌡️ Welcome to the Temperature Converter!")
print("Choose a conversion:")
print("1: Celsius to Fahrenheit")
print("2: Fahrenheit to Celsius")
print("3: Celsius to Kelvin")
print("4: Kelvin to Celsius")
print("5: Fahrenheit to Kelvin")
print("6: Kelvin to Fahrenheit")
Project setup

الخطوة 2: أخذ إدخال المستخدم

  • احصل على اختيار المستخدم (نوع التحويل).

  • اطلب درجة الحرارة للتحويل.

  • تحويل إدخال إلى عدد عشري.

choice = input("Enter your choice (1-6): ")
temp = float(input("Enter the temperature to convert: "))
Take user input

الخطوة 3: تحديد وظائف التحويل

إنشاء وظائف منفصلة لكل نوع تحويل:

def celsius_to_fahrenheit(c):
    return (c * 9/5) + 32

def fahrenheit_to_celsius(f):
    return (f - 32) * 5/9

def celsius_to_kelvin(c):
    return c + 273.15

def kelvin_to_celsius(k):
    return k - 273.15

def fahrenheit_to_kelvin(f):
    return (f - 32) * 5/9 + 273.15

def kelvin_to_fahrenheit(k):
    return (k - 273.15) * 9/5 + 32
Conversion functions

الخطوة 4: قم بإجراء التحويل

استخدم الشرطيات للتحقق من اختيار المستخدم واستدعاء الوظيفة المناسبة:

if choice == "1":
    result = celsius_to_fahrenheit(temp)
    print("{}°C is {:.2f}°F".format(temp, result))
elif choice == "2":
    result = fahrenheit_to_celsius(temp)
    print("{}°F is {:.2f}°C".format(temp, result))
elif choice == "3":
    result = celsius_to_kelvin(temp)
    print("{}°C is {:.2f}K".format(temp, result))
elif choice == "4":
    result = kelvin_to_celsius(temp)
    print("{}K is {:.2f}°C".format(temp, result))
elif choice == "5":
    result = fahrenheit_to_kelvin(temp)
    print("{}°F is {:.2f}K".format(temp, result))
elif choice == "6":
    result = kelvin_to_fahrenheit(temp)
    print("{}K is {:.2f}°F".format(temp, result))
else:
    print("Invalid choice. Please run the program again.")
Perform conversion

نصائح

  • يستخدمwhile حلقات للسماح بالتحويلات المتكررة دون إعادة تشغيل البرنامج.

  • أضف التحقق من إدخال لتجنب الأخطاء.

  • يستخدمtry/except كتل للتعامل مع إدخال غير الرقمية.

  • السماح للمستخدمين بكتابة وحدات درجة الحرارة كنص (على سبيل المثال،"C" ل"F" ) بدلا من الأرقام.

  • أضف رسومات مقياس الحرارة ASCII للمتعة

تحدي صغير

دع المستخدم يُحوّل درجات حرارة متعددة في عملية واحدة، ثم يُسجّل النتائج في قائمة. في النهاية، اطبع جميع التحويلات التي أُجريت خلال الجلسة.

استخدمwhile حلقة لتمكين المستخدمين من مواصلة تحويل درجات الحرارة، وتخزين كل نتيجة في قائمة. الخروج من الحلقة إدخال خاص مثل'q' ثم اطبع القائمة في النهاية.

# Modidy the code below to let the users convert multiple temperatures in one run and log the results in a list. 
# At the end, print all conversions done during the session.
print("🌡️ Welcome to the Temperature Converter!")
print("Choose a conversion:")
print("1: Celsius to Fahrenheit")
print("2: Fahrenheit to Celsius")
print("3: Celsius to Kelvin")
print("4: Kelvin to Celsius")
print("5: Fahrenheit to Kelvin")
print("6: Kelvin to Fahrenheit")
choice = input("Enter your choice (1-6): ")
temp = float(input("Enter the temperature to convert: "))
def celsius_to_fahrenheit(c):
    return (c * 9/5) + 32

def fahrenheit_to_celsius(f):
    return (f - 32) * 5/9

def celsius_to_kelvin(c):
    return c + 273.15

def kelvin_to_celsius(k):
    return k - 273.15

def fahrenheit_to_kelvin(f):
    return (f - 32) * 5/9 + 273.15

def kelvin_to_fahrenheit(k):
    return (k - 273.15) * 9/5 + 32

Mini challenge on temperature conversion

إذا واجهتك مشكلة، انقر فوق زر"إظهار الحل".

Go أبعد من ذلك

  • أضف واجهة رسومية باستخدام Tkinter.

  • إنشاء نسخة ويب باستخدام Flask أو Streamlit.

  • حفظ سجل التحويل في ملف.

لقد أنشأتَ للتو أداةً مفيدةً في Python تُدرّب على معالجة إدخال والرياضيات والمنطق. استمر في التجربة وحاول تخصيصها بلمستك الإبداعية!