[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.
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]
コメント