اذهب إلى المحتوى
  • 0

خطأ عند كتابة شيفرة برمجية بلغة بايثون في سطر الأوامر CMD

Abdelhameed Fadl

السؤال

Recommended Posts

  • 0

مرحبا عبد الرحمن،

الخطأ يكمن في الإزاحات. لاحظ أن الإزاحات قبل الشرط الأول (if) هي أكبر من الإزاحات قبل الشرط الثاني (elif). يجب أن تكون الإزاحات متساوية.

إذا كان هذا السؤال تابع لدورة من دورات الأكاديمية يُرجى طرح السؤال أسفل فيديو الدرس وشكراً.

بالتوفيق.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

عليك باستيعاب أنه في لغة البرمجة بايثون، تستخدم الإزاحات (Indentations) لتنظيم الكود وتحديد الهيكل والتسلسل الزمني للتعليمات، وعند تضمين تعليمات داخل كتلة معينة مثل الشروط (if/else) أو الحلقات (loops)، نستخدم الإزاحات لتحديد البلوك الذي يتبع الكود.

لنفترض أن لديك شرط "if" للتحقق مما إذا كانت قيمة متغير ما تساوي 10، فنستخدم الإزاحات لتحديد الكود الذي سيتم تنفيذه في حالة تحقق الشرط كالتالي:

x = 10

if x == 10:
    print("قيمة x تساوي 10")
    print("هذا الكود ينفذ فقط إذا كانت القيمة تساوي 10")
    
print("هذا الكود يعمل بعد انتهاء الشرط")

ولاحظ الإزاحات (المسافات في بداية كل سطر) لتحديد الكود الذي يتم تنفيذه في حالة تحقق الشرط x == 10، والأسطر الملونة تحت الشرط هي جزء من البلوك الذي سيتم تنفيذه فقط إذا كانت القيمة مساوية لـ 10، بينما السطر الملون بالأزرق يتم تنفيذه بغض النظر عن الشرط.

تستخدم الإزاحات أيضًا في حلقات الكود، مثل حلقة "for"، لتحديد الكود المراد تكراره داخل الحلقة وإليك مثال آخر:

for i in range(5):
    print("قيمة i هي:", i)
    print("هذا السطر يعمل في كل تكرار للحلقة")

print("هذا السطر يعمل بعد انتهاء الحلقة")

استخدمت الإزاحات لتحديد الكود الذي يتم تنفيذه في كل تكرار للحلقة "for"، والأسطر الملونة تحت الحلقة هي الأوامر التي ستتم تكرارها على مدار الحلقة، بينما السطر الملون بالأزرق يتم تنفيذه بعد انتهاء الحلقة.

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يبدو أن هناك خطأ في تنسيق الكود. يجب أن يكون التعليمات الشرطية بمستوى الإزاحة المناسب كما تم الشرح في لتعليقات السابقة.

يمكن حل هذه المشكلة عن طريق ترتيب التعليمات الشرطية بشكل صحيح، كما يلي:

my_num= 6 
user_num= int(input('inter your number: '))

if user_num > 0:
    if user_num== my_num:
        print('you win')
    elif user_num == my_num + 1 or user_num == my_num - 1:
        print('Hot')
    else:
        print('Cold')
else:
    print('Invalid input')

في هذا الكود، تم تنظيم التعليمات الشرطية بشكل صحيح. إذا قام المستخدم بإدخال عدد أكبر من صفر، يتم فحصه ومقارنته مع الرقم المحدد (6)، وإذا كانت الأرقام متطابقة يتم طباعة "you win"، وإذا كان الرقم الذي تم إدخاله يختلف عن الرقم المحدد بمقدار واحد، يتم طباعة "Hot"، وإذا كان الرقم بعيدًا عن الرقم المحدد بأكثر من واحد، يتم طباعة "Cold"، وإذا قام المستخدم بإدخال عدد أقل من صفر، فإنه يتم طباعة "Invalid input".

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...