بايثون

لعبة التخمين في لغة برمجة بايثون

نستعرض معكم اليوم تمرين جميل كتب بلغة برمجة بايثون, كلما تعمقت في فهم لغة برمجية جديده او حتى لو كنت ممارس للغة بشكل دائم تحتاج الى الأطلاع على تمارين كتبت من قبل الغير سوف يجعلك اكبر اطلاعاً في عمل الأكواد البرمجية ويعطيك ابعاد جديده في طريقة كتابة برامجك الخاصه, تمرين مقالنا بأذن الله بسيط وجميل وسوف يبسط لك طريقة التخمين واعطاء البرنامج عدة اجابات حتى تصل الى الجواب الصحيح

شرح عمل الكود

فالنقل ان نطاق المستخدم من 1 إلى 100. وأن الكود اختار بشكل عشوائي العدد 42.

  • التخمين الأول

الآن بدأت لعبة التخمين وتوجد عدة خيارات من قبل الكود للتقريب، فالنقل من انك قمت بإدخال رقم 50 كأول تخمين لك. سوف يقوم الكود بأشعارك بالتالي “حاول مرة أخرى! التخمين عالي جدا “.

  • التخمين الثاني

هذا يعني أن الرقم العشوائي (42) لا يقع في النطاق من 50 إلى 100. هذه هي أهمية تخمين نصف النطاق. ومرة أخرى ، يخمن المستخدم نصف 50 الأخرى (هل يمكن أن تخبرني لماذا؟). لذا فإن نصف 50 هو 25. يقوم المستخدم بإدخال 25 كتخمينه الثاني. سوف يقوم الكود بأشعارك بالتالي ، “حاول مرة أخرى! التخمين صغير جدا”. هذا يعني أن الأعداد الصحيحة الأقل من 25 (من 1 إلى 25) لا جدوى من تخمينها.

  • التخمين الثالث

الآن نطاق تخمين المستخدم أقصر ، أي من 25 إلى 50. بذكاء! خمن المستخدم نصف هذا النطاق ، لذلك خمن المستخدم 37 على أنه تخمينه الثالث. هذه المرة مرة أخرى يظهر سوف يقوم الكود بأشعارك بالتالي ، “حاول مرة أخرى! التخمين صغير جدا”. بالنسبة للمستخدم ، يصبح نطاق التخمين أصغر مع كل تخمين.

  • التخمين الرابع

الآن ، نطاق التخمين للمستخدم هو من 37 إلى 50 ، حيث خمن المستخدم 43 باعتباره تخمينه الرابع. هذه المرة سيُظهر المترجم ناتجًا “حاول مرة أخرى! التخمين عالي جدا “.

  • التخمين الخامس

سيكون نطاق التخمين الجديد للمستخدمين من 37 إلى 43 ، مرة أخرى خمن المستخدم نصف هذا النطاق ، أي 40 باعتباره تخمينه الخامس. هذه المرة يظهر المترجم الناتج ، “حاول مرة أخرى! التخمين صغير جدا “. ترك التخمين أصغر حتى من 41 إلى 43.

  • التخمين السادس

والآن خمن المستخدم 41 على أنه تخمينه السادس. وهو خطأ ويظهر الإخراج “حاول مرة أخرى! التخمين صغير جدا “. وأخيرًا ، خمن المستخدم الرقم الصحيح وهو 42 باعتباره تخمينه السابع.

كود التخمين في بايثون

import random
import math
# Taking Inputs
lower = int(input("Enter Lower bound:- "))
 
# Taking Inputs
upper = int(input("Enter Upper bound:- "))
 
# generating random number between
# the lower and upper
x = random.randint(lower, upper)
print("\n\tYou've only ",
       round(math.log(upper - lower + 1, 2)),
      " chances to guess the integer!\n")
 
# Initializing the number of guesses.
count = 0
 
# for calculation of minimum number of
# guesses depends upon range
while count < math.log(upper - lower + 1, 2):
    count += 1
 
    # taking guessing number as input
    guess = int(input("Guess a number:- "))
 
    # Condition testing
    if x == guess:
        print("Congratulations you did it in ",
              count, " try")
        # Once guessed, loop will break
        break
    elif x > guess:
        print("You guessed too small!")
    elif x < guess:
        print("You Guessed too high!")
 
# If Guessing is more than required guesses,
# shows this output.
if count >= math.log(upper - lower + 1, 2):
    print("\nThe number is %d" % x)
    print("\tBetter Luck Next time!")

تنوية :

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *