[ad_1]
من المفترض أن يكون الرمز قادرًا على إنتاج رقم عشوائي وإخبارك ما إذا كنت أعلى أم أقل. أريد أن أكون قادرًا على الحد من كمية التخمينات للعثور عليه.
بايثون
import random MAX_NUM = 100 max_tries_allowed = 10 print("\tWelcome to 'Guess My Number !'") print(f"\nI'm thinking of a number between 1 and {MAX_NUM}") print("Try to guess it in as few attempts as possible. \n") # Set the initial values the_number = random.randrange(MAX_NUM) + 1 guess = None tries = 0 #guessing loop while (guess != the_number): guess = int(input("Take a guess: ")) if (tries == max_tries_allowed): print("You lose") elif (guess > the_number): print("Lower...") else: print("Higher...") tries += 1 print("You guessed it! The number was ", the_number) print("And it only took you ",tries, " tries!\n") input("\n\nPress the Enter key to exit")
ما حاولت:
أنا مبرمج مبتدئ ولكن لدي البرنامج الأساسي للعمل ولكن الشيء الوحيد الذي لا يعمل هو الكمية المحدودة من التخمينات التي تم إجراؤها.
الحل 1
أنت قريب جدًا من هذا. يجب توسيع حالة حلقة while الخاصة بك بحيث لا تنظر فقط إلى ما إذا كان الرقم يتطابق مع التخمين. يحتاج أيضًا إلى التحقق لمعرفة ما إذا كنت قد تجاوزت الحد الأقصى لعدد المحاولات المسموح بها. أعد ترتيب جملة while الخاصة بك مثل هذا:
found = false while (found == false and tries < max_tries_allowed) guess = int(input("Take a guess: ")) tries += 1 if (guess = the_number): found = true if (guess > the_number): print("Lower...") elif (guess < the_number): print("Higher...") else: found = true if (found == false): print("You didn't find the number")
شيء من هذا القبيل ينبغي أن يساعد.
[ad_2]
コメント