-2
I have the following problem, if the user does not type either’S' or 'N' will return the error message I treated, however it will continue the loop, but I wanted a way not to ask again to type the number again and if you type the answer of the variable 'question'.
def caractere(resposta):
# false
if resposta == 'N':
return 'Encerrando programa...'
# true
elif resposta == 'S':
return 'Ok, vamos continuar...'
# true
elif resposta not in 'SN':
return 'Caractere inválido. Digite novamente'
def main():
while True:
try:
numero = float(input('Digite um número: '))
print(f'O cubo do numero {numero} é igual {numero ** 3}')
pergunta = str(input('Deseja continuar[sim - S/não - N]: ')).upper()[0]
resultado = caractere(pergunta)
if pergunta == 'S':
print(resultado)
elif pergunta == 'N':
print(resultado)
break
elif pergunta not in 'SN':
print(resultado)
except:
print('Valor inválido, tente novamente.')
if __name__ == "__main__":
main()