|
منتدى البرمجة كل ما يتعلق بلغات البرمجة، فيجوال بيسيك , سي ++ , دلفي , أكسيس , جافا , هتمل... |
في حال وجود أي مواضيع أو ردود مُخالفة من قبل الأعضاء، يُرجى الإبلاغ عنها فورًا باستخدام أيقونة ( تقرير عن مشاركة سيئة )، و الموجودة أسفل كل مشاركة .
آخر المواضيع |
|
فتح لغز الشيخ الذي خلف 81 نخلة و 9 أولاد بالبايثون
|
أدوات الموضوع | انواع عرض الموضوع |
2016-06-20, 21:26 | رقم المشاركة : 1 | ||||
|
فتح لغز الشيخ الذي خلف 81 نخلة و 9 أولاد بالبايثون
السلام علكيم كود:
date=list(range(1,82)) print("كمية التمر التي سيتحصل عليها كل ابن هي: ",sum(date)/9) # 1- جلب مودل الاختيار العشوائي من مودل العشوائية في numpy وذلك لأن هذا الموديل يمكننا من اختيار مجموعة من الأعداد العشوائية في آن واحد من قائمة # هذه الطريقة from random import choice تمكننا من اختيار عدد واحد ولهذا فهي لا تفيدنا في هذه الحالة ولكن يمكننا أن ننشئ function تمكننا من اختيار مجموعة أعداد عشوائيا # يقوم البايثون بجلب الموديل بهذا السطر from numpy.random import choice فإن لم يجده ينتقل إلى الاستثناء بعد except*وهو إنشاء دالة تعمل نفس عمل الموديل. كود:
try: from numpy.random import choice except: # numpy.random.choice إنشاء دالة اختيار عشوائي معادلة لهذه def choice(a, x=9): # كتب اسم شويز حتى لا نغير في الأسطر التي في الأسفل l=[] # إنشاء قائمة فارغة from random import choice # جلب شويز من الموديل العشوائية راندم يكون مع البايثون ولا يحتاج إلى إضافة for i in range(x): # تحديد عدد الاختيارات l.append(choice(a)) # إضافة عدد الخيارات إلى القائمة return l كود:
a=list(range(1,82)) x=0 # نحتاج إليه فيما بعد كود:
while True: f=list(choice(a,9)) # اختيار تسعة أعداد عشوائيا من قائمة النخيل الكلية لإنشاء قائمة جديدة بتسع نخلات f.sort() # القيام بترتيب الأعداد في القائمة x=x+1 # يقوم بإضافة واحد للإكس في كل مرة قام بالتجريب وعندما ينهي العمل سنتعرف على مرات التجريب if sum(f)==369 and len(set(f))==9: # sum(f)==369 للتأكد من أن وزن التمر في القائمة صحيح # len(set(f))==9 لتجنب تكرار الأعداد في القائمة الواحدة print(f) # إذا تحقق الشرطين في الأعلى قم بطبع القائمة لأنها صحيحة a=list(set(a)-set(f)) # احذف عناصر القائمة التي طبعتها من قائمة النخيل الكلية else: # إذا لم تتحقق الشروط في الأعلى أعد المحاولة pass if len(a)==0: # إنهاء الحلقة التكرارية عند الحصول على كل النتائج break print("") # سطر فارغ print("عدد الإحتمالات التي قام بها البرنامج لإيجاد الحل هي: ",x) # يقوم البايثون بطبع عدد مرات التجريب التي قام بها المعذرة عن الشرح الغير كافي وإليكم بعض النتائج المتحصل عليها بهذا الأسطر: كمية التمر التي سيتحصل عليها كل ابن هي: 369.0 [11, 15, 19, 22, 31, 62, 68, 70, 71] [1, 4, 18, 25, 29, 65, 69, 78, 80] [8, 12, 17, 32, 46, 54, 61, 67, 72] [9, 24, 30, 42, 43, 44, 48, 50, 79] [10, 23, 36, 37, 40, 47, 52, 60, 64] [7, 14, 20, 34, 41, 49, 51, 76, 77] [3, 5, 33, 38, 53, 55, 57, 59, 66] [2, 6, 21, 27, 45, 58, 63, 73, 74] [13, 16, 26, 28, 35, 39, 56, 75, 81] عدد الإحتمالات التي قام بها البرنامج لإيجاد الحل هي: 6911 كمية التمر التي سيتحصل عليها كل ابن هي: 369.0 [4, 21, 22, 27, 44, 46, 59, 72, 74] [6, 11, 29, 34, 47, 49, 57, 67, 69] [5, 16, 28, 40, 42, 45, 62, 65, 66] [9, 15, 18, 26, 35, 58, 63, 68, 77] [3, 7, 13, 32, 37, 56, 64, 78, 79] [10, 12, 20, 23, 39, 43, 70, 71, 81] [1, 14, 25, 31, 38, 52, 53, 75, 80] [2, 19, 24, 36, 48, 50, 54, 60, 76] [8, 17, 30, 33, 41, 51, 55, 61, 73] عدد الإحتمالات التي قام بها البرنامج لإيجاد الحل هي: 6053 كمية التمر التي سيتحصل عليها كل ابن هي: 369.0 [3, 14, 22, 28, 43, 48, 59, 75, 77] [1, 18, 27, 32, 38, 58, 60, 63, 72] [6, 7, 24, 33, 40, 47, 66, 70, 76] [5, 20, 21, 30, 34, 36, 65, 78, 80] [4, 10, 16, 37, 41, 52, 55, 73, 81] [2, 12, 39, 44, 45, 46, 49, 53, 79] [8, 13, 26, 29, 31, 54, 68, 69, 71] [11, 15, 19, 25, 51, 56, 61, 64, 67] [9, 17, 23, 35, 42, 50, 57, 62, 74] عدد الإحتمالات التي قام بها البرنامج لإيجاد الحل هي: 5335 كمية التمر التي سيتحصل عليها كل ابن هي: 369.0 [7, 13, 22, 41, 43, 48, 59, 60, 76] [17, 25, 26, 28, 30, 49, 54, 63, 77] [2, 16, 34, 35, 42, 50, 51, 68, 71] [5, 18, 23, 29, 40, 57, 58, 67, 72] [1, 6, 19, 27, 36, 62, 64, 75, 79] [4, 14, 21, 31, 33, 55, 56, 74, 81] [11, 12, 20, 38, 45, 46, 53, 66, 78] [3, 9, 15, 39, 44, 47, 69, 70, 73] [8, 10, 24, 32, 37, 52, 61, 65, 80] عدد الإحتمالات التي قام بها البرنامج لإيجاد الحل هي: 4956 كمية التمر التي سيتحصل عليها كل ابن هي: 369.0 [2, 13, 25, 28, 41, 42, 67, 74, 77] [15, 19, 23, 26, 48, 49, 56, 61, 72] [5, 17, 20, 27, 51, 52, 60, 62, 75] [12, 16, 37, 38, 44, 45, 46, 58, 73] [7, 8, 35, 40, 47, 50, 53, 63, 66] [3, 9, 21, 29, 43, 54, 65, 69, 76] [4, 18, 24, 31, 33, 39, 68, 71, 81] [1, 6, 14, 34, 36, 55, 64, 79, 80] [10, 11, 22, 30, 32, 57, 59, 70, 78] عدد الإحتمالات التي قام بها البرنامج لإيجاد الحل هي: 4836 كمية التمر التي سيتحصل عليها كل ابن هي: 369.0 [1, 15, 25, 27, 44, 48, 58, 73, 78] [17, 21, 24, 36, 42, 51, 53, 60, 65] [4, 19, 20, 31, 41, 49, 63, 70, 72] [6, 14, 22, 34, 39, 45, 54, 76, 79] [5, 11, 16, 26, 43, 57, 59, 75, 77] [3, 10, 13, 35, 37, 61, 64, 66, 80] [18, 23, 28, 30, 32, 47, 55, 67, 69] [2, 8, 29, 33, 40, 46, 62, 68, 81] [7, 9, 12, 38, 50, 52, 56, 71, 74] عدد الإحتمالات التي قام بها البرنامج لإيجاد الحل هي: 4507 كمية التمر التي سيتحصل عليها كل ابن هي: 369.0 [9, 22, 23, 26, 29, 30, 74, 76, 80] [2, 19, 34, 41, 42, 47, 52, 54, 78] [4, 18, 25, 36, 38, 50, 53, 70, 75] [1, 11, 14, 27, 43, 65, 66, 69, 73] [6, 16, 20, 33, 35, 58, 59, 63, 79] [8, 13, 15, 31, 45, 55, 57, 68, 77] [3, 17, 32, 37, 40, 51, 60, 62, 67] [7, 10, 24, 39, 44, 46, 56, 71, 72] [5, 12, 21, 28, 48, 49, 61, 64, 81] عدد الإحتمالات التي قام بها البرنامج لإيجاد الحل هي: 6557 كمية التمر التي سيتحصل عليها كل ابن هي: 369.0 [3, 11, 27, 33, 50, 51, 58, 64, 72] [15, 19, 20, 29, 30, 52, 55, 74, 75] [1, 28, 31, 35, 36, 46, 61, 65, 66] [4, 9, 17, 41, 42, 43, 57, 77, 79] [5, 12, 23, 32, 34, 44, 70, 71, 78] [14, 18, 21, 25, 48, 53, 59, 62, 69] [7, 10, 16, 24, 45, 56, 63, 68, 80] [2, 22, 26, 37, 38, 47, 49, 67, 81] [6, 8, 13, 39, 40, 54, 60, 73, 76] عدد الإحتمالات التي قام بها البرنامج لإيجاد الحل هي: 6346
|
||||
الكلمات الدلالية (Tags) |
choice, python, random |
|
|
المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية
Powered by vBulletin .Copyright آ© 2018 vBulletin Solutions, Inc