Tengo un error con mi código de Python. Hay un mini juego sobre adivinar código. Quiero romper las declaraciones if y hacer una declaración else (activada cuando supongo una letra incorrecta). Aquí está el código. Salidas de la función de retorno / interrupción: "función de retorno / interrupción fuera del bucle". Por favor, modifique el código: D `

import time
print('Oto jest gra, w której musisz odgadnąć kod! Kod ma 4 litery!')
decyzja = input('Chcesz grać? T/N\n')
if decyzja == "t" or "T":
    one = input('Wpisz 1 litere\n')
    if one == "k":
        two = input('Wpisz 2 Litere\n')
        if two == "u":
            three = input('Wpisz 3 litere\n')
            if three == "b":
                four = input('Ostatnia!\n')
                if four == "a":
                    time.sleep(2)
                    print('Zgadles kod!!!')

`

-4
QUEBO MTB 16 oct. 2018 a las 17:13

2 respuestas

La mejor respuesta

Pruebe esto (es mejor usar una función):

import time

def numguess(myinput):
    if decyzja.lower() == "t":
        one = input('Wpisz 1 litere\n')
    else:
        return False

    if one == "k":
        two = input('Wpisz 2 Litere\n')
    else:
        return False

    if two == "u":
        three = input('Wpisz 3 litere\n')
    else:
        return False

    if three == "b":
        four = input('Ostatnia!\n')
    else:
        return False

    if four == "a":
        time.sleep(2)
        print('Zgadles kod!!!')
    else:
        return False

print('Oto jest gra, w której musisz odgadnąć kod! Kod ma 4 litery!')

decyzja = input('Chcesz grać? T/N\n')

numguess(decyzja)
0
rpf 16 oct. 2018 a las 14:41

Yo lo modelaría así

for letter in "tkuba":
    user_input = input().lower()
    if user_input == letter:
        print("...")
    else:
        break
0
tbzk 16 oct. 2018 a las 14:24