O código do item D da questão roda sem problemas, pois o python já reconhece com tipo 'int' nas variáveis inteiras definidas ,portanto não é necessário transformar em inteiro como o item B.
O código do item D da questão roda sem problemas, pois o python já reconhece com tipo 'int' nas variáveis inteiras definidas ,portanto não é necessário transformar em inteiro como o item B.
Olá, Caio! Tudo tranquilo por aí?
O Item D realmente roda sem problemas, o que torna a alternativa incorreta é o casting que faz com que o retorno de qualquer divisão em Python seja um número float.
A questão solicita:
'A quilometragem média do veículo é 5000 km'
Porém quando executamos o código do item D obtemos:
text + str( Km / (Ano_atual - Ano_fabricacao) ) + ' km'
Saída:
'A quilometragem média do veículo é 5000.0 km'
A questão solicita a quilometragem como um número inteiro e nos é retornado um número float, isso porque quando executamos a divisão Km / (Ano_atual - Ano_fabricacao)
, mesmo que o denominador e o numerador sejam inteiros, o resultado retornado é um número float. Você pode conferir com mais detalhe nessa outra questão.
Para solucionar esse problema, basta converter o resultado da divisão para inteiro, que é exatamente o item B
text + str( int( Km / (Ano_atual - Ano_fabricacao) ) ) + ' km'
Saída:
'A quilometragem média do veículo é 5000 km'
Espero ter ajudado, mas se ainda persistir alguma dúvida estou sempre à disposição para ajudar.
:)