4
respostas

Resposta do exercício "Impossível acertar o número"

Tentei fazer uma sugestão de melhoria, porém não é possível fazer para a resposta do exercício, somente para o enunciado. Na resposta está assim:

numero_secreto = 42
chute_str = input("Digite seu número")
chute = int(chute_str)
print("Você digitou ", chute)
if(numero_secreto == chute):
    print("Você acertou")
else:
    print("Você errou")

No lugar de criarmos outra variável, usamos a mesma para receber o valor da sua conversão.

Ou seja, a resposta do exercício utiliza 2 variáveis (chute_str e chute) da mesma forma que o professor demonstrou no vídeo. A frase que vem após o código dizendo que usou a mesma variável para receber o valor da sua conversão é falsa.

Portanto, proponho a seguinte melhoria:

numero_secreto = 42
chute = input("Digite seu número")
chute = int(chute)
print("Você digitou ", chute)
if(numero_secreto == chute):
    print("Você acertou")
else:
    print("Você errou")

O meu entendimento está correto?

4 respostas

Oi Maurício, tudo bem?

Seu entendimento está certo sim, mas creio que a ideia do instrutor nesse vídeo foi deixar bem explícito que uma variável será uma str enquanto outra será um int.

Os dois raciocínios estão válidos nesse caso :)

Fala Maurício! Tudo beleza?

Seu entendimento está correto sim!

Por motivos didáticos, o professor optou por deixar o passo a passo mais explícito possível, porém podemos fazer isso de maneira mais direta realmente.

Um ponto que é legal ressaltar é que nessa situação, para quem já tem algum conhecimento, é bem tranquilo, porém em cenários mais complexos as vezes vale a pena gastar mais uma ou duas linhas para deixar seu código mais autoexplicativo, isso facilita manutenção e ajuda o entendimento de novos programadores quando forem pegar nosso código.

Dito isso, a ideia é sempre tentar equilibrar essas duas situações, deixando seu código fácil de ser entendido, mas também sucinto e sem muitas variáveis e passos. Código bem escrito dispensa comentários!

Como já dizia Robert Cecil Martin, no livro Clean Code:

A maioria dos comentários serve apenas para justificar um trecho de código ruim. São como pedidos de desculpas do desenvolvedor por não ter conseguido se expressar em código.

Espero ter ajudado!

Abraços e sucesso, meu amigo.

Oi Maurício, conseguimos te ajudar? :)

Que ambos os códigos funcionam está claro. Que fazer cada linha da forma mais enxuta e explícita possível é a forma mais didática também está claro.

Só não faz sentido essa frase na resposta, pois ele não usou a mesma variável para receber o valor da sua conversão: "No lugar de criarmos outra variável, usamos a mesma para receber o valor da sua conversão."

Nesse exercício ele criou outra variável para receber o valor da conversão. E se essa era a intenção, a frase não faz sentido, pois ele já tinha feito da mesma forma no vídeo. Essa frase não ficou só confusa pra mim, como pode ser visto em outro tópico mais antigo: https://cursos.alura.com.br/forum/topico-criacao-de-variavel-62424