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

تصحيح الأخطاء في كود Python لطباعة نجوم

Lino El

السؤال

Recommended Posts

  • 0
بتاريخ 1 دقيقة مضت قال Lino El:

:for i in range(1,7)
  ()print
   : for j in range(1,i)
        print("*", end=" ")
        

استخدمت لغة البايثون

الكود الذي كتبته لا يعمل بسبب بعض الأخطاء النحوية والترتيبية:

  1. في السطر الأول، يجب أن تنتهي الجملة بعلامة النقطة المنقوطة (:) بدلاً من الفاصلة (،).
  2. في السطر الثاني، لا توجد أي تعليمة طباعة محددة.
  3. في السطر الثالث، يجب أن تضيف الفراغات اللازمة قبل كلمة for وفي بداية السطر، وأيضًا استخدام علامة الترتيب العكسي (<) في نطاق range() لأن الحلقة تحتاج إلى القيم من 1 إلى 5 فقط (للطباعة من 1 إلى 5 نجوم).
  4. في السطر الرابع، يجب أن تزود الجملة المطبوعة (print()) بالجملة الذاتية (i) بدلاً من الفاصلة.
  5. في السطر الخامس، عليك أن تضيف الفراغات اللازمة قبل كلمة print().

وهنا الكود الصحيح لطباعة الشكل المطلوب في لغة Python:

for i in range(1, 6):
    for j in range(i):
        print("*", end=" ")
    print()

عليك بتعديل الكود كما هو موضح، وهو يقوم بتكرار الطباعة لمجموعة من النجوم بناءً على قيمة المتغير i.

في الدورة الأولى ستطبع نجمة واحدة، الدورة الثانية ستطبع نجمتين، وهكذا حتى الدورة الخامسة التي ستطبع خمس نجوم.

وإذا قمت بتشغيل الكود، ستحصل على النتيجة التالية:

* 
* * 
* * * 
* * * * 
* * * * *

 

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

  • 0
بتاريخ 20 ساعة قال Lino El:

:for i in range(1,7)
  ()print
   : for j in range(1,i)
        print("*", end=" ")
        

استخدمت لغة البايثون

تم تصحيح الأخطاء في الكود المعطى، ولكن هناك بعض الملاحظات والتحسينات التي يمكن إجراؤها على الكود لتحسينه  ، وهذه الملاحظات والتحسينات على النحو التالي:

  •  استخدام نطاق range() بشكل صحيح: يجب تحديد النطاق الصحيح للحلقة الخارجية بناءً على عدد الصفوف التي تريد طباعة النجوم فيها. على سبيل المثال، إذا كنت تريد طباعة 5 صفوف من النجوم، يجب تعيين range(1,6) في الحلقة الخارجية.
  •  تحسين الحلقة الداخلية: يجب وضع الحلقة الداخليةبشكل صحيح، حيث يجب أن يتم طباعة النجمة في السطر الحالي بدون فراغات بينها، وبعد ذلك يجب طباعة سطر جديد باستخدام دالة print(). لذلك، يمكن تحسين الحلقة الداخلية لتصبح كالتالي:
for i in range(1, 6):
    for j in range(1, i+1):
        print("*", end="")
    print()
  • استخدام f-string لتحسين قابلية القراءة: يمكن استخدام f-string لتحسين قابلية القراءة وتسهيل فهم الكود. يمكن تحسين الكود بشكل التالي:
for i in range(1, 6):
    row = "*" * i
    print(f"{row}")

باستخدام f-string، يمكن استخدام المتغير row لتخزين النجومات المطلوبة في كل صف، ومن ثم طباعته باستخدام دالة print().

بهذه الطريقة، يمكن تحسين الكود وجعله أكثر فعالية وصحة، كما يمكن تحسين قابلية القراءة وتسهيل فهم الكود.

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...