Saya membuat program sederhana di Python di mana saya menggunakan modul angka acak untuk menghasilkan angka acak antara 1 dan 10 kemudian mintalah pengguna untuk menebak nomor seperti yang ditunjukkan di sini:

import random

randnum = random.randint(1, 10)

guess = input("Guess a number between 1 and 10: ")
guess = int(guess)

while guess != randnum:
    if guess < randnum:
        print("Your guess is too low.")
        guess = input("Guess again: ")
        guess = int(guess)
    elif guess > randnum:
        print("Your guess is too high")
        guess = input("Guess again: ")
        guess = int(guess)
    elif guess == randnum:
        print("That is correct!")

Masalah saya adalah mendapatkan program untuk mencetak pernyataan ELIF akhir ketika mereka menebak nomor yang benar. Alih-alih loop sementara berakhir karena kondisinya telah dipenuhi. Bagaimana cara saya mencetak pernyataan akhir ketika nomor yang benar telah ditebak?

0
user58518 4 April 2021, 19:09

1 menjawab

Jawaban Terbaik

Ketika pengguna melakukannya dengan benar, maka guess != randnum akan salah dan loop akan keluar sebelum melihat opsi apa pun. Cukup pindahkan elif terakhir di luar loop:

import random

randnum = random.randint(1, 10)

guess = input("Guess a number between 1 and 10: ")
guess = int(guess)

while guess != randnum:
    if guess < randnum:
        print("Your guess is too low.")
        guess = input("Guess again: ")
        guess = int(guess)
    elif guess > randnum:
        print("Your guess is too high")
        guess = input("Guess again: ")
        guess = int(guess)

print("That is correct!")

Meskipun saya akan menulis kode sesuatu yang lebih seperti ini:

import random

randnum = random.randint(1, 10)

guess = int(input("Guess a number between 1 and 10: "))

while guess != randnum:
    if guess < randnum:
        print("Your guess is too low.")
    elif guess > randnum:
        print("Your guess is too high")
    
    guess = int(input("Guess again: "))

print("That is correct!")
3
Lakshya Raj 4 April 2021, 16:11