1
resposta

[Dúvida] Gambiarra ou questão de opinião?

Estou começando no python, no vídeo ele diz que fazer a compação if opcao_escolhida == '1' é uma 'gambiarra', mas a conversão é obrigatória de um jeito ou de outro, tanto que ele usa a função int pra colocar tudo como número, o que me parece trocar 6 por meia dúzia, mas não é uma gambiarra, é apenas uma opção(opinião, escolha). Qual o motivo de ser uma 'gambiarra'? Me parece mais uma questão de gosto, pois não vejo prejuízo no desempenho(dado a simplicidade do problema) ou na leitura do código. Não teria sido exagerado chamar de "gambiarra"?

1 resposta

Olá Ana. Tudo bem?

No contexto do vídeo e do aprendizado de programação, o termo "gambiarra" é frequentemente usado para descrever soluções que funcionam, mas que não são as mais elegantes ou corretas do ponto de vista da boa prática de programação.

No caso específico que você mencionou, a comparação if opcao_escolhida == '1' está comparando uma string com um número, o que pode levar a resultados inesperados, como foi demonstrado no vídeo. A "gambiarra" aqui seria manter essa comparação sem fazer a conversão adequada dos tipos de dados. O Python é uma linguagem fortemente tipada, o que significa que ele não faz conversões automáticas entre tipos diferentes, como strings e inteiros, sem que você especifique isso.

Ao converter a entrada do usuário para um inteiro usando int(), você está garantindo que a comparação seja feita entre dois valores do mesmo tipo, o que é uma boa prática e menos propensa a erros. Isso não é apenas uma questão de opinião, mas sim uma questão de seguir boas práticas de programação que garantem que o código seja mais claro e menos suscetível a falhas.

Por exemplo, considere este trecho de código:

opcao_escolhida = input('Escolha uma opção: ')
if opcao_escolhida == '1':
    print("Opção 1 escolhida")

Aqui, a comparação funciona apenas se você digitar exatamente '1' como string. Se você converter a entrada para um inteiro, como abaixo, a comparação se torna correta:

opcao_escolhida = int(input('Escolha uma opção: '))
if opcao_escolhida == 1:
    print("Opção 1 escolhida")

Espero ter ajudado e bons estudos!

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