Làm cách nào để bạn viết mã Python tạo ra một số ngẫu nhiên và giới hạn số lần đoán để tìm thấy nó?

lập trình


Mã này có nghĩa là có thể tạo ra một số ngẫu nhiên và cho bạn biết bạn cao hơn hay thấp hơn. Tôi muốn có thể giới hạn số lượng dự đoán được thực hiện để tìm thấy nó.

Python
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")

Những gì tôi đã thử:

Tôi là một lập trình viên mới bắt đầu nhưng tôi đã có chương trình cơ bản để hoạt động nhưng điều duy nhất không hoạt động được là số lượng dự đoán được thực hiện có hạn.

Giải pháp 1

Bạn rất thân thiết với điều này. Điều kiện vòng lặp while của bạn cần được mở rộng để nó không chỉ xem liệu con số có khớp với dự đoán hay không. Nó cũng cần kiểm tra xem liệu bạn đã vượt quá số lần thử tối đa được phép hay chưa. Sắp xếp lại mệnh đề while của bạn như thế này:

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")

Một cái gì đó như thế sẽ giúp ích.

コメント

タイトルとURLをコピーしました