perintah print di except tidak berfungsi

ini kode yang saya tulis (python):

while True:
    try:
        rank = int(input("masukkan ranking (1~6): "))
        if 1 <= rank <= 6 :
            break
    except:
            print("Anda harus memasukkan angka dari 1 sampai 6.")

kenapa ya pas di run kalo memasukkan angka yang bukan 1 sampai 6 ga keluar kalimat "Anda harus memasukkan angka dari 1 sampai 6."? hasilnya jadi mengulang input masukkan ranking aja. mohon bantuannya, terima kasih :)
avatar newbie00

@newbie00

3 Kontribusi 0 Poin


Jawaban

hai @newbie00

try except biasa digunakan untuk exception handling
jika kamu mau menampilkan 
"Anda harus memasukkan angka dari 1 sampai 6."

sebaiknya di dalam kondisi bukan di try except. karena try except hanya mengambil jika error.

untuk contoh source codenya bisa seperti ini

while True:
    try:
        rank = int(input("masukkan ranking (1~6): "))
        if 1 <= rank <= 6:
            print("Ranking berhasil diinput")
            break
        else:
            print("Anda harus memasukkan angka dari 1 sampai 6.")
    except:
            print("Input harus berupa angka dan tidak boleh kosong")

atau bisa lihat live demonya disini
https://www.online-python.com/OAQ1IR05HG

Semoga membantu
avatar tantootnat

@tantootnat

10 Kontribusi 4 Poin


Login untuk gabung berdiskusi
premium logo tube

Hey, sedang ada diskon premium untuk akses semua kelas. Lihat di sini