جاري تحميل المحتوى...
بعد أن تعرّفت في الفصل السابق على المتغيرات وأنواع البيانات، يمكنك الآن البدء في جعل برامج Python تتعامل مع المستخدم وتجري عمليات على القيم. ستتعلم في هذا الفصل كيف تعرض المعلومات باستخدام print()، وكيف تستقبل بيانات من المستخدم باستخدام input()، وكيف تحوّل هذه البيانات إلى أعداد عند الحاجة، ثم تستخدمها في العمليات الحسابية والمقارنات الأساسية.
print()تستخدم الدالة print() لإظهار نص أو قيمة أو نتيجة على الشاشة. ويمكن أن تطبع نصًا مباشرًا:
print("مرحبًا بك في Python")
عند تشغيل البرنامج يظهر النص:
مرحبًا بك في Python
يمكن أيضًا استخدام print() لعرض قيمة مخزنة في متغير:
age = 15
print(age)
قيمة المتغير age هي 15، ولذلك يظهر العدد 15 على الشاشة.
ويمكن طباعة نتيجة عملية مباشرة:
print(7 + 5)
تنفذ Python عملية الجمع أولًا، ثم تعرض print() الناتج 12.
كما يمكن عرض أكثر من قيمة في عملية طباعة واحدة:
name = "سارة"
age = 15
print("الاسم:", name)
print("العمر:", age)
f-string بصورة بسيطةعندما تريد دمج قيمة متغير مع نص، يمكنك استخدام f-string. في هذا الفصل نستخدمها فقط كطريقة بسيطة وواضحة للإخراج.
name = "سارة"
print(f"مرحبًا {name}")
توضع قيمة المتغير داخل الأقواس المعقوفة، وتبدأ السلسلة النصية بالحرف f. سيظهر:
مرحبًا سارة
يكفي في هذه المرحلة معرفة هذا الاستخدام البسيط. ستأتي استخدامات أوسع للنصوص في فصل النصوص لاحقًا.
input()تسمح الدالة input() للبرنامج بالانتظار حتى يكتب المستخدم قيمة. ويمكن وضع رسالة داخلها توضّح للمستخدم ما المطلوب منه.
name = input("اكتب اسمك: ")
print(name)
إذا كتب المستخدم الاسم أحمد، فإن القيمة النصية "أحمد" تخزن في المتغير name ثم تعرض على الشاشة.
ويمكن الجمع بين input() وf-string لإظهار رسالة بسيطة:
name = input("اكتب اسمك: ")
print(f"مرحبًا {name}")
input() تعيد قيمة من نوع strهناك قاعدة مهمة جدًا: القيمة التي تعيدها input() تكون من نوع str مباشرة، حتى إذا كتب المستخدم رقمًا.
فمثلًا:
age = input("أدخل عمرك: ")
print(type(age))
إذا أدخل المستخدم 15، فإن القيمة الناتجة ما زالت نصًا من نوع str وليست عددًا صحيحًا من نوع int.
هذه النقطة مهمة لأن العمليات الحسابية تحتاج عادةً إلى قيم رقمية فعلية.
انظر إلى المثال التالي:
number = input("أدخل رقمًا: ")
print(number + number)
إذا أدخل المستخدم 5، فإن number يحتوي النص "5". لذلك يؤدي جمع النص مع نفسه إلى نتيجة نصية مثل:
55
إذا كان الهدف هو إجراء عملية حسابية، فيجب تحويل القيمة إلى نوع رقمي أولًا.
int()يمكن استخدام int() لتحويل إدخال يمثل عددًا صحيحًا إلى قيمة من نوع int.
number = input("أدخل رقمًا صحيحًا: ")
number = int(number)
print(number + 5)
إذا أدخل المستخدم 10، تتحول القيمة النصية "10" إلى العدد الصحيح 10، ثم تكون النتيجة 15.
يمكن اختصار الخطوتين في سطر واحد:
number = int(input("أدخل رقمًا صحيحًا: "))
print(number + 5)
float()إذا كان الإدخال قد يحتوي عددًا عشريًا، يمكن استخدام float().
price = float(input("أدخل السعر: "))
print(price * 2)
إذا أدخل المستخدم 2.5، تصبح قيمة price عددًا عشريًا، وتكون نتيجة الضرب:
5.0
استخدم int() عندما تتوقع عددًا صحيحًا، واستخدم float() عندما تريد السماح بقيمة عشرية.
تدعم Python مجموعة من العوامل الحسابية التي يمكن استخدامها مع القيم الرقمية.
| العامل | المعنى | مثال |
|---|---|---|
+ |
الجمع | 5 + 2 |
- |
الطرح | 5 - 2 |
* |
الضرب | 5 * 2 |
/ |
القسمة | 5 / 2 |
// |
القسمة الصحيحة | 5 // 2 |
% |
باقي القسمة | 5 % 2 |
** |
الأس | 5 ** 2 |
print(8 + 2)
print(8 - 2)
print(8 * 2)
النتائج هي 10 ثم 6 ثم 16.
/يستخدم العامل / للقسمة العادية.
print(8 / 2)
تكون النتيجة:
4.0
لاحظ أن ناتج القسمة باستخدام / يظهر هنا كقيمة عشرية.
//العامل // يعيد نتيجة القسمة الصحيحة دون الجزء العشري في الأمثلة الموجبة التي نستخدمها في هذا الفصل.
print(7 // 2)
الناتج هو 3، لأن 2 تدخل في 7 ثلاث مرات كاملة.
%العامل % يعيد الباقي بعد القسمة.
print(7 % 2)
عند قسمة 7 على 2 يكون الباقي 1، ولذلك تكون النتيجة 1.
يمكن مشاهدة القسمة الصحيحة والباقي معًا:
number = 17
print(number // 5)
print(number % 5)
القسمة الصحيحة تعطي 3، والباقي يساوي 2.
**يستخدم العامل ** لرفع عدد إلى قوة.
print(2 ** 3)
هذا يعني 2 مضروبة في نفسها ثلاث مرات، ولذلك تكون النتيجة 8.
عندما يحتوي التعبير على أكثر من عملية، لا تنفذ Python العمليات دائمًا من اليسار إلى اليمين. هناك ترتيب للأولوية.
ضمن العمليات التي ندرسها هنا، يمكنك تذكر الترتيب المبسط التالي:
**.انظر إلى المثال:
result = 2 + 3 * 4
print(result)
يُنفذ الضرب أولًا:
3 * 4
فتصبح القيمة 12، ثم يضاف إليها 2، وبالتالي تكون النتيجة 14.
يمكن استخدام الأقواس لجعل عملية معينة تنفذ أولًا.
result = (2 + 3) * 4
print(result)
تُحسب العملية داخل الأقواس أولًا، فتصبح 5، ثم تضرب في 4. الناتج هو 20.
استخدام الأقواس مفيد أيضًا لأنه يجعل قصدك في العملية الحسابية أوضح عند قراءة الكود.
تستخدم عوامل المقارنة لمقارنة قيمتين. نتيجة المقارنة تكون قيمة منطقية: True أو False.
| العامل | المعنى |
|---|---|
== |
يساوي |
!= |
لا يساوي |
> |
أكبر من |
< |
أصغر من |
>= |
أكبر من أو يساوي |
<= |
أصغر من أو يساوي |
أمثلة:
print(10 == 10)
print(10 != 7)
print(10 > 7)
print(10 < 7)
print(5 >= 5)
print(4 <= 3)
النتائج بالترتيب هي:
True
True
True
False
True
False
= و==من أكثر الأخطاء شيوعًا في البداية الخلط بين = و==.
العامل = يستخدم لإسناد قيمة إلى متغير:
age = 15
أما == فيستخدم للمقارنة بين قيمتين:
age = 15
print(age == 15)
هنا تكون نتيجة المقارنة True لأن قيمة age تساوي 15.
تذكر:
= يعني: خزّن هذه القيمة.== يعني: هل القيمتان متساويتان؟يمكننا الآن بناء برامج صغيرة تجمع المفاهيم التي تعلمناها.
age = int(input("أدخل عمرك: "))
next_age = age + 1
print(f"سيصبح عمرك {next_age}")
يحدث هنا أربع خطوات واضحة:
input() تحصل على الإدخال.int() تحوّل الإدخال إلى عدد صحيح.1 إلى العدد.print() النتيجة باستخدام f-string بسيطة.length = float(input("أدخل الطول: "))
width = float(input("أدخل العرض: "))
area = length * width
print(f"المساحة = {area}")
يحصل البرنامج على قيمتين من المستخدم، ويحولهما إلى أعداد عشرية، ثم يضربهما ويعرض النتيجة.
first = float(input("أدخل العدد الأول: "))
second = float(input("أدخل العدد الثاني: "))
average = (first + second) / 2
print(f"المتوسط = {average}")
استخدمت الأقواس لضمان جمع العددين أولًا، ثم قسمة المجموع على 2.
first = int(input("أدخل العدد الأول: "))
second = int(input("أدخل العدد الثاني: "))
print(first == second)
print(first > second)
لا يتخذ البرنامج أي قرار هنا؛ فهو يعرض فقط نتيجة كل مقارنة على هيئة True أو False. استخدام نتائج المقارنات في اتخاذ القرار يأتي في الفصل التالي.
input() تعيد نصًاهذا المثال لا يحوّل الإدخال إلى عدد:
number = input("أدخل رقمًا: ")
print(number + number)
إذا كان الإدخال 5، فالقيمة ما زالت نصًا، ولذلك تكون النتيجة النصية 55 بدلًا من العملية الحسابية 10.
للحساب العددي استخدم التحويل المناسب:
number = int(input("أدخل رقمًا: "))
print(number + number)
int() مع إدخال عشريإذا كنت تتوقع من المستخدم إدخال قيمة مثل 2.5، فاستخدم float() بدل int().
price = float(input("أدخل السعر: "))
print(price)
يجب أن تكون القيمة التي يكتبها المستخدم مناسبة للتحويل المطلوب؛ وإلا فلن ينجح التحويل.
/ و//print(7 / 2)
print(7 // 2)
الأولى تعطي 3.5، أما الثانية فتعطي 3 في المثال الموجب المستخدم هنا.
print(2 + 3 * 4)
الناتج 14 وليس 20، لأن الضرب ينفذ قبل الجمع.
إذا أردت تنفيذ الجمع أولًا فاستخدم الأقواس:
print((2 + 3) * 4)
score = 10
print(score == 10)
السطر الأول يخزّن القيمة، أما السطر الثاني فيقارن القيمة ويعرض True أو False.
اكتب برنامجًا يطلب من المستخدم اسمه ثم يعرض رسالة ترحيب باستخدام f-string.
اطلب من المستخدم عددًا صحيحًا، ثم اطبع حاصل ضربه في 2.
اطلب من المستخدم سعر منتج كعدد عشري وكمية كعدد صحيح، ثم اطبع حاصل ضرب السعر في الكمية.
اكتب تعبيرًا يحسب نتيجة 4 + 3 * 2، ثم استخدم الأقواس للحصول على نتيجة مختلفة.
استخدم // و% لمعرفة ناتج القسمة الصحيحة والباقي عند قسمة 23 على 5.
اطلب من المستخدم عددين صحيحين، ثم اطبع نتيجة المقارنة بينهما باستخدام == و> و<.
print() تعرض النصوص والقيم ونتائج العمليات.f-string بصورة بسيطة لإدراج قيمة متغير داخل نص مطبوع.input() تحصل على إدخال المستخدم وتعيده من نوع str.int() لتحويل نص مناسب إلى عدد صحيح.float() عندما تحتاج إلى قيمة عشرية.+ و- و* و/ و// و% و**.// للقسمة الصحيحة، و% لباقي القسمة، و** للأس.True أو False.= للإسناد، أما == فللمقارنة.input ثم conversion ثم operation ثم print.نشر في ١١ أغسطس ٢٠٢٦