Ali Alfares نشر 8 نوفمبر 2023 أرسل تقرير نشر 8 نوفمبر 2023 (معدل) السلام عليكم ورحمة الله وبركاته لماذا البرنامج عندما اقارن num بعدد مباشرة لايدخل في elif مفترض الجواب يكون so close تم التعديل في 8 نوفمبر 2023 بواسطة Mustafa Suleiman تعديل عنوان السؤال 2 اقتباس
0 Mustafa Suleiman نشر 8 نوفمبر 2023 أرسل تقرير نشر 8 نوفمبر 2023 الفكرة هي في أن الشرط غير صحيح، هنا: elif num == num + 1 or num == num - 1: فأنت تقوم بمقارنة قيمة num بـ num + 1 و num - 1، أي إذا كانت قيمة num تساوي 7، فسيكون num + 1 يساوي 8 و num - 1 يساوي 6. وبما أن num ليست تساوي 8 أو 6 في بداية البرنامج، فإن الشرط سيكون غير صحيح، وبالتالي لن يتم طباعة 'close'. لذلك عليك أنت تحديد الرقم، كالتالي: elif num == 7 - 1 or num == 7 + 1: ويمكن كتابة الكود بشكل أفضل كالتالي: num = int(input('Please enter a number: ')) if num == 7: print('You won!') elif num in (6, 8): print('Very close') else: print('You lost') اقتباس
0 Chihab Hedidi نشر 8 نوفمبر 2023 أرسل تقرير نشر 8 نوفمبر 2023 و يمكنك التحسين أكثر على الكود بحيث يصبح شغال مع أي رقم و ليس فقط مع الرقم 7، بحيث تضيف متغير آخر ليكون على سبيل المثال بإسم goal و تكون المقارنة بالطريقة التالية: num =int(input("Please enter a number:")) goal=7 if num==goal: print("You Won") elif num ==goal+1 or num== goal-1: print("So Close") else: print("You Lost") و يمكنك تغيير goal بأي رقم تريد. اقتباس
السؤال
Ali Alfares
السلام عليكم ورحمة الله وبركاته
لماذا البرنامج عندما اقارن num بعدد مباشرة لايدخل في elif
مفترض الجواب يكون so close

تم التعديل في بواسطة Mustafa Suleimanتعديل عنوان السؤال
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.