عبدالعزيز السدحان نشر 13 أبريل 2023 أرسل تقرير نشر 13 أبريل 2023 مثال السطر ثلاثة فيه ثلاثة ارقام والسطر اربعة فيه اربعة ارقام لم افهم الطريقة 1 اقتباس
0 عمر قره محمد نشر 13 أبريل 2023 أرسل تقرير نشر 13 أبريل 2023 ذلك يحدث لأن الكود يعض الـ end الخاص بالـ print للقيمة " "، بدلاً من القيمة الافتراضية "سطر جديد" والتي تعني سطر جديد. جرب الكود التالي : print("Hello", end = ' ') print("World") ستكون النتيجة : Hello World وعند تنفيذ الأمر print() عند نهاية كل حلقة صغيرة for j in، فإننا نقوم بطباعة القيمة الافتراضية "سطر جديد"، حتى يتم طباعة ارقام الحلقة التالية في السطر التالي. لتعميق الفهم، جرب المثال التالي : print("Hello", end = ' ') print("World") print() print("my name is", end = ' ') print("omar") وحاول التعديل عليه. اقتباس
0 أحمد رضا5 نشر 13 أبريل 2023 أرسل تقرير نشر 13 أبريل 2023 يقوم الكود بطباعة مثلث من الأرقام المتتالية، بدءًا من الرقم 1، وحتى الرقم 28. الشرح التفصيلي: 1- تعيين القيمة 1 إلى المتغير num. 2- الدخول في حلقة تكرارية for تتكون من حلقتين متداخلتين، الأولى للصفوف والثانية للأعمدة، وذلك بحسب النطاق range(0,7)، والذي يعني الدوران على الأرقام 0، 1، 2، 3، 4، 5، 6. 3-داخل الحلقة الخارجية، تم تعريف حلقة تكرارية for ثانوية، والتي تقوم بطباعة الأعداد من num وحتى الرقم i+1، والذي يتم تحديده بواسطة الحلقة الخارجية، والتي تزداد قيمة i في كل دورة. 4-طباعة العدد num باستخدام دالة print() وبإضافة مسافة فارغة بعد كل رقم باستخدام end = " ". 5- زيادة قيمة المتغير num بمقدار 1 في كل دورة. 6- خروج من الحلقة الداخلية بعد الانتهاء من الطباعة والزيادة في القيمة. 7- خروج من الحلقة الخارجية بعد الانتهاء من جميع الأعمدة للصف الحالي. 8- طباعة سطر جديد باستخدام دالة print() لبدء صف جديد. بعد انتهاء التنفيذ، سيتم طباعة مثلث من الأرقام المتتالية بحيث يكون الصف الأول يحتوي على رقم واحد، الصف الثاني يحتوي على رقمين، وهكذا حتى الصف السابع الذي يحتوي على سبعة أرقام، وبذلك يتم طباعة المثلث كاملاً. اقتباس
0 Mustafa Suleiman نشر 13 أبريل 2023 أرسل تقرير نشر 13 أبريل 2023 لكي تكتب الأرقام بنفس عدد الأسطر، عليك بتعديل حلقة التكرار الداخلية (الحلقة التي تحدد عدد الأرقام في كل سطر) لتكون بحسب عدد الأسطر، يمكن القيام بذلك عن طريق استخدام متغير آخر لحساب عدد الأرقام في الحلقة التالية. مثلاً، يمكن تعديل الكود كما يلي: num = 1 for i in range(1, 8): # حساب عدد الأرقام في السطر الحالي num_digits = i for j in range(num_digits): print(num, end=' ') num += 1 print() كما ترى يتم حساب عدد الأرقام في كل سطر باستخدام المتغير num_digits الذي يتم تعيينه إلى قيمة i في كل دورة من حلقة التكرار الخارجية، بعد ذلك استخدام متغير num_digits في حلقة التكرار الداخلية لطباعة عدد معين من الأرقام في كل سطر. وبما أن حلقة التكرار الخارجية تمتد من 1 إلى 7، فسيتم طباعة 7 أسطر، وكل سطر يحتوي على عدد من الأرقام يساوي رقم السطر نفسه، لذلك، سيكون السطر الثالث يحتوي على ثلاثة أرقام، والسطر الرابع يحتوي على أربعة أرقام، وهكذا. اقتباس
0 محمد Fahmy نشر 14 أبريل 2023 أرسل تقرير نشر 14 أبريل 2023 الطريقة الصحيحة لطباعة أرقام تتزايد بالتسلسل من 1 إلى 28 بطريقة مرتبة. وهذ شرح لما يجب أن يحدث في الكود بالخطوات: نقوم بتعريف متغير يسمى num بقيمة 1. نستخدم حلقة تكرار for للتكرار 7 مرات، وهي من الرقم 1 إلى 7، ونختزل ذلك بـ range(1,8) أو يمكنك كتاية القائمة هكذا [1,2,3,4,5,6,7] ليس هناك فرق بينهما. نقوم بتعريف متغير جديد باسم new_number وهو يحمل قيمة i، وهذا يعني أن المتغير num_digits سيتم تعيينه بقيم من 1 إلى 7 بالتسلسل. نستخدم حلقة تكرار for جديدة للتكرار حسب قيمة المتغير num_digits، والتي تحدد عدد المرات التي يجب علينا فيها طباعة مجموعة من الأرقام. نقوم بطباعة الرقم الحالي num بالمرور على داخل الحلقة الثانية باستخدام دالة print، ونستخدم end=' ' لجعل الأرقام موجودة جنبًا إلى جنب بدون فصل بينها بمحرر النصوص. نرفع قيمة المتغير num بمقدار 1 لإعداده للطباعة القادمة. بعد الانتهاء من داخل الحلقة الثانية، نقوم بطباعة سطر فارغ باستخدام دالة print() لإنهاء التعليق الحالي والانتقال إلى السطر التالي. الكود: قم بكتبة كود أخر يقوم بنفس ما يفعله هذا الكود num = 1 for i in [1,2,3,4,5,6,7]: new_number = i for j in range(new_number): print(num, end=' ') num += 1 print() وهناك طريقة اخري أنظر إلى هذا الكود: num = 1 for i in range(1, 8): new_number = i nums = [str(num + j) for j in range(new_number)] print(' '.join(nums)) num += new_number شرح الكود تم تعريف متغير `num` بقيمة 1. تم استخدام حلقة `for` لتكرار العملية 7 مرات (range(1, 8)). تم تعريف متغير `new_number` بقيمة متغير `i` الحالي في الحلقة. تم إنشاء قائمة `nums` وتعيينها إلى تحويل المتغير `num` الحالي إلى سلسلة وإضافة أرقام متصاعدة بواسطة حلقة `for` بدءًا من 0 إلى `new_number` -1. تم استخدام الدالة `join` لدمج قائمة `nums` في سلسلة واحدة مع فراغات بين الأرقام. تم طباعة السلسلة باستخدام الدالة `print`. تم زيادة قيمة المتغير `num` بقيمة `new_number` لاستخدامه في الدورة القادمة. اقتباس
0 Kais Hasan نشر 14 أبريل 2023 أرسل تقرير نشر 14 أبريل 2023 إن الطريقة التي تعرضها جيدة و لكن فيها شيء غير مرغوب في بعض الأحيان، و هو أنك تقوم بطباعة فراغ زائد في نهاية كل سطر، و هذا قد يسبب مشاكل في بعض الأحيان خاصة أنه من غير الواضح وجود الفراغ. لحل هذه المشكلة يمكننا وضع قيمة end على أنها فراغ طالما أننا لم نصل لآخر عنصر و في آخر عنصر نضعها سطر جديد، أي كما يلي: num = 1 for i in range(0, 7): for j in range(0, i + 1): print(num, end = ' ' if j < i else '\n') num += 1 لاحظ كيف أننا نقول أننا نريد الفراغ طالما أن j < i أي طالما لم نصل لآخر عنصر و إلا نضع نهاية سطر عندما نصل لآخر عنصر. و لكن بشكل عام هذه الطريقة في كتابة الكود هي طريقة لغات البرمجة مثل السي و الجافا و غيرها، في ال python هناك طريقة أخرى لكتابة هذه الأكواد و يجب اتباعها ليكون الكود pythonic أي يتبع الطريقة التي يكتب فيها المبرمجون المحترفون في لغة البايثون. مثلاً كودك السابق يمكن أن يكتب بطريقة pythonic بالطريقة التالية: from itertools import accumulate steps = list(accumulate(range(8))) output = '\n'.join( [ ' '.join([str(x) for x in range(steps[i]+1, steps[i+1]+1)]) for i in range(7) ] ) print(output) اقتباس
السؤال
عبدالعزيز السدحان
مثال السطر ثلاثة فيه ثلاثة ارقام والسطر اربعة فيه اربعة ارقام لم افهم الطريقة
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.