Bagaimana Anda menulis kode Python yang menghasilkan angka acak dan membatasi jumlah tebakan untuk menemukannya?

pemrograman

[ad_1]

Kode tersebut dimaksudkan agar dapat menghasilkan angka acak dan memberi tahu Anda apakah Anda lebih tinggi atau lebih rendah. Saya ingin dapat membatasi jumlah tebakan yang dibuat untuk menemukannya.

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

Apa yang saya coba:

Saya seorang pembuat kode pemula tetapi saya memiliki program dasar yang berfungsi tetapi satu-satunya hal yang tidak berfungsi adalah terbatasnya jumlah tebakan yang dibuat.

Solusi 1

Anda sangat dekat dengan ini. Kondisi perulangan while anda perlu diperluas agar tidak hanya melihat apakah angkanya sesuai dengan tebakan. Ini juga perlu memeriksa apakah Anda telah melewati jumlah maksimum percobaan yang diperbolehkan. Atur ulang klausa while Anda seperti ini:

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

Sesuatu seperti itu seharusnya membantu.

[ad_2]

コメント

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