Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Qual a melhor prática para definição de tipos de variáveis?

Olá! Resolvendo o desafio da aula 2 e comparando minhas respostas com as respostas sugeridas pela instrutora, tive a seguinte dúvida... Bom, este foi o meu código:

valor1 = input('Digite o primeiro valor: ')
valor2 = input('Digite o segundo valor: ')

soma = float(valor1) + float(valor2)

print(f'O resultado da soma é {soma:.2f}')

Enquanto este foi o código da instrutora:

a = int(input('Digite o primeiro valor: '))
b = int(input('Digite o segundo valor: '))
print(a+b)

Minha dúvida é se é boa prática definir o tipo de variável no momento da definição da variável, ou se posso continuar definindo os tipos das minhas variáveis assim como eu fiz. Minha ideia foi que, como não é um código extenso e que não pretende ser muito restrito, seria melhor definir o tipo da variável após a inserção do valor pelo usuário, ao passo que definir o tipo da variável no momento da definição da variável é algo mais restritivo e melhor para códigos mais extensos e que requerem uma maior confiabilidade. Estou correto? Ou ainda, em quais casos é melhor o uso de uma forma e da outra?

Também pergunto se não é melhor definir a variável neste caso como float, ao invés de integer, uma vez que não há restrição para o valor a ser inserido pelo usuário - uma coisa seria se fosse solicitado um valor inteiro ou sem casas decimais, mas como é solicitado apenas um valor qualquer, acredito que float seja mais adequado, não?

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta
solução!

Ei, Estudante!

A escolha entre definir o tipo de variável no momento da entrada de dados ou após a inserção depende do contexto e da necessidade do seu programa.

No código da instrutora, a vantagem da variável a ja ser do tipo numérico(int), é que torna o código mais claro quanto ao objetivo e previne erros caso tente usá-lo em operações numéricas mais tarde sem lembrar da conversão. Pode-se considerar que esse método é uma boa prática, assim garantimos que o dado de entrada já esteja no formato correto para processamento. E caso o usuário coloque outro tipo de dado que não seja inteiro, o programa falhará ou retornará um erro.

No seu método, o interessante é que você terá a string original caso precise dela. O que pode tornar complicado é o tipo de valor de valor1 ser ambíguo até o momento da soma. Caso deixe de converter em uma parte mais robusta do código, terá um erro.

Sobre float vs int

Você está certíssimo! Usar o float é mais flexível. Antes de aplicar um ou outro, se questione sobre alguns pontos, por exemplo:

  • Usar int: apenas se você realmente souber que o usuário só irá ou deveria digitar números inteiros (ex: idade, quantidade de itens).

  • Usar float: é a melhor escolha quando a entrada é um "valor qualquer" que pode ser decimal (ex: preço, altura, peso). O tipo float consegue lidar tanto com números inteiros (5 se torna 5.0) quanto com decimais, evitando a falha que ocorreria se o usuário digitasse um decimal em um int().

Espero ter ajudado e qualquer dúvida, compartilhe no fórum.

Até mais!

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