Kodax

الإدخال من المستخدم — أساسيات Python

الإدخال من المستخدم: input()

حتى الآن كانت القيم مكتوبة داخل الكود. لكي يتفاعل البرنامج مع المستخدم نستخدم input(): تعرض رسالة، وتنتظر حتى يكتب المستخدم ويضغط Enter، ثم ترجع ما كتبه.

name = input("ما اسمك؟ ")
print("أهلاً", name)

أهم قاعدة: input() ترجع نصاً دائماً

حتى لو كتب المستخدم 25، القيمة المرجعة هي النص "25". إذا أردت إجراء حساب يجب التحويل:

age = int(input("كم عمرك؟ "))
print("بعد 10 سنوات سيكون عمرك", age + 10)

بدون التحويل: "25" + 10 ← TypeError، و "25" * 2 ← "2525" (تكرار النص وليس ضرباً!).

إدخال عدة قيم في سطر واحد

a, b = input("أدخل رقمين مفصولين بمسافة: ").split()
a, b = int(a), int(b)

split() تقسم النص عند المسافات إلى قائمة من النصوص.

ماذا لو أدخل المستخدم قيمة خاطئة؟

int("أحمد") ترمي ValueError ويتوقف البرنامج. سنتعلم التعامل مع الأخطاء بالتفصيل لاحقاً، لكن هذا الشكل البسيط مفيد من الآن:

try:
    number = int(input("أدخل رقماً: "))
    print("ضعف الرقم:", number * 2)
except ValueError:
    print("هذا ليس رقماً صحيحاً")

نصائح

- اكتب رسالة واضحة تخبر المستخدم بما تتوقعه (مثلاً: "أدخل عمرك بالأرقام").

- ضع مسافة في نهاية الرسالة حتى لا يلتصق الإدخال بها.

تمرين

اكتب برنامجاً يطلب درجة الحرارة بالمئوية ويحوّلها إلى فهرنهايت بالمعادلة F = C * 9 / 5 + 32.

# إدخال نص
name = input("ما اسمك؟ ")
print(f"مرحباً {name}!")

# إدخال رقم (تحويل لـ int)
age = int(input("كم عمرك؟ "))
birth_year = 2024 - age
print(f"ولدت في سنة {birth_year}")

# إدخال رقم عشري
height = float(input("كم طولك بالمتر؟ "))
print(f"طولك {height} متر")

# حاسبة بسيطة
num1 = float(input("أدخل الرقم الأول: "))
num2 = float(input("أدخل الرقم الثاني: "))
print(f"المجموع: {num1 + num2}")
print(f"الفرق: {num1 - num2}")
print(f"الحاصل: {num1 * num2}")

# إدخال متعدد في سطر واحد
x, y = input("أدخل رقمين (مفصولين بمسافة): ").split()
x, y = int(x), int(y)
print(f"x = {x}, y = {y}")

# التعامل مع أخطاء الإدخال
try:
    number = int(input("أدخل رقماً: "))
    print(f"الرقم هو: {number}")
except ValueError:
    print("خطأ! يجب إدخال رقم صحيح")
اختبر فهمك