Abdo Saad نشر 15 يونيو أرسل تقرير نشر 15 يونيو fruit = ['orange', 'banana', 'mango', 'lemon '] for x in range(len(fruit)): print (x , fruit[x]) break if fruit[x] == manago: print('stop this loop') ازاي من خلال كود اطبع [orange, banana, lemon] فقط 3 اقتباس
0 محمد_عاطف نشر 15 يونيو أرسل تقرير نشر 15 يونيو أولا لاحظ أنك تضع break مباشرة في بداية الحلقة دون أى شرط وهذا خاطئ حيث سيتم إيقاف الحلقة عند أول تكرار ولن يتم الإكمال. ثانيا أنت تريد طباعة جميع العناصر ما عدا mango ولهذا نحن لا نحتاج break فمثلا لو mango كما هنا في العنصر الثالث فلو إستخدمنا break فلن يتم طباعة العنصر الرابع ولو يوجد عناصر أخرى بعدها لن يتم طباعتها لتوقف الحلقة. لذلك الحل هو وضع شرط للتأكد من أن العنصر لا يساوي mango هكذا : fruit = ['orange', 'banana', 'mango', 'lemon '] for x in range(len(fruit)): if fruit[x] != "mango": print (fruit[x]) اقتباس
0 عبد الوهاب بومعراف نشر 15 يونيو أرسل تقرير نشر 15 يونيو لعمل ذلك فستحتاج إلى استخدام شرط داخل الحلقة for لتحديد ما إذا كان العنصر الحالي هو العنصر المرغوب في تجاهله وفي حالتك هنا يجب أن نقوم بالدوران على عناصر القائمة fruit، وسنتحقق داخل الحلقة مما إذا كان العنصر ليس 'mango' ثم نطبعه وإذا كان 'mango' سنتجاهله ببساطة. هذا المنطق يمكن تنفيذه مباشرة باستخدام الشرط if داخل الحلقة بدون الحاجة إلى break أو continue بهذا الشكل: fruit = ['orange', 'banana', 'mango', 'lemon'] for item in fruit: if item != 'mango': print(item) بهذا التعديل سيتم طباعة 'orange' و'banana' و'lemon' فقط، لأن 'mango' سيتم تخطيه تلقائيا عند التحقق من الشرط. اقتباس
0 عبدالباسط ابراهيم نشر 15 يونيو أرسل تقرير نشر 15 يونيو يمكنك أيضاً استخدام continue لتتخطى التكرار الحالي وتنتقل للعنصر التالي fruit = ['orange', 'banana', 'mango', 'lemon '] for x in range(len(fruit)): if fruit[x] == 'mango': # strip() لإزالة المسافات continue print(x, fruit[x]) اقتباس
السؤال
Abdo Saad
ازاي من خلال كود اطبع [orange, banana, lemon] فقط
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.