Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #59 da revista programar. Faz já o download aqui!

Gonkali

[Resolvido] Ajuda - Função para calcular valor do aluguer de um carro*dias de aluguer

Mensagens Recomendadas

Gonkali    11
Gonkali

Boa Tarde,

O seguinte código tem como função apresentar o valor de aluguer de um carro calculando nº de dias*valor do aluguer.

Considerando que:

-até 3 dias o valor do aluguer é de 40€

-entre 3 a 7 dias o valor do aluguer é 40€*dias - desconto de 20€

-mais do que 7 dias o valor do aluguer é 40€*dias - desconto de 50€(não acumula com o valor de 20€)

days = raw_input ("Dias de aluguer?")
def rental_car_cost(days):

   if rental_car_cost >= 1 and rental_car_cost <= 3:
       return days*40

   elif rental_car_cost >= 3 and days < 7:
       return (days*40) - 20

   elif rental_car_cost >= 7:
       return (days*40) - 50

   else:
       return 0

Mas quando tento correr o código dá erro "it looks like rental_car_cost does not return the correct amount (0) for 0 days".

O que estou a fazer de mal?

Obrigado

Editado por thoga31
GeSHi

" The quieter you become, the more you are able to hear"

"Eu adoraria mudar o mundo, mas não me deram o código-fonte."

"A arte de programar consiste na arte de organizar e dominar a complexidade."

"Qualquer um pode escrever um código que o computador entenda. Bons programadores escrevem códigos que os humanos entendam."

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
icemonster2    1
icemonster2

Meu deus...xD

Primeiramente, esqueçeste-te de converter a variavel "days" que é uma string, para integer, de maneira a fazer calculos numéricos com essa variável.

Depois, em vez de usares a variavel "days" para verificar o numero de dias estás a usar a função "rental_car_cost" (confundis-te, de certeza). Basta alterar isso e talvez funcione.

Cumprimentos.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Gonkali    11
Gonkali

Meu deus...xD

Primeiramente, esqueçeste-te de converter a variavel "days" que é uma string, para integer, de maneira a fazer calculos numéricos com essa variável.

Depois, em vez de usares a variavel "days" para verificar o numero de dias estás a usar a função "rental_car_cost" (confundis-te, de certeza). Basta alterar isso e talvez funcione.

Cumprimentos.

Que estupidez... tens toda a razão.

Apenas não converti a variável days para integer porque é um "raw_input" e alterei para o seguinte código:

if days >= 7:
   return days * 40 - 50
elif days >=3:
   return days * 40 - 20
else:
   return days * 40

Editado por thoga31
GeSHi

" The quieter you become, the more you are able to hear"

"Eu adoraria mudar o mundo, mas não me deram o código-fonte."

"A arte de programar consiste na arte de organizar e dominar a complexidade."

"Qualquer um pode escrever um código que o computador entenda. Bons programadores escrevem códigos que os humanos entendam."

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.