1
resposta

[Dúvida] praticidade

Não seria mais fácil só mudar a opção e ao invés de colocar inteiro, colocar string? Tipo, mais prático?


if opcao_escolhida == '1':
    print('Cadastrar restaurante')
elif opcao_escolhida == '2':
    print('Listar restaurantes')
elif opcao_escolhida == '3':
    print('Ativar restaurantes')
else:
    print('Encerrando o programa')

Tipo assim fiz e funcionou do mesmo jeito

1 resposta

Olá, Mariana! Tudo bem?

Realmente pode parecer mais prático simplesmente mudar a comparação para uma string, e sim, isso funcionaria. No entanto, a ideia do exercício é justamente ensinar sobre a tipagem forte do Python e como lidar com ela.

Na sua sugestão, você está comparando strings, que é o tipo de dado que o input() retorna por padrão. No entanto, na atividade, a proposta é que você entenda que o input() retorna uma string e que, se você precisa trabalhar com números, deve converter essa string para um número inteiro.

Por exemplo, imagine que em vez de um menu de opções, você precise fazer uma operação matemática com o valor inserido pelo usuário. Nesse caso, você precisaria converter a string para um número para realizar a operação.

Então, o código:

opcao_escolhida = int(input('Escolha uma opção: '))

Está pegando o valor inserido pelo usuário, que é uma string, e convertendo para um número inteiro. Dessa forma, você pode comparar opcao_escolhida com números inteiros, como no seu código:

if opcao_escolhida == 1:
    print('Cadastrar restaurante')
elif opcao_escolhida == 2:
    print('Listar restaurantes')
elif opcao_escolhida == 3:
    print('Ativar restaurantes')
else:
    print('Encerrando o programa')

Resumindo, ambos os códigos estão corretos, mas a ideia da atividade é ensinar sobre a conversão de tipos no Python.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.