Kams31
-
31 juil. 2018 à 17:02
Whismeril
Messages postés18783Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention28 novembre 2023
-
22 janv. 2020 à 21:26
Bonjour,
Voici l'énoncé:
L'auberge dans laquelle vous avez prévu de passer la nuit ce soir propose des tarifs très intéressants, pour peu que l'on n'arrive pas trop tard. En effet, plus on arrive tôt moins on devra payer. Vous essayez de construire un programme vous donnant directement le prix à payer en fonction de votre heure d'arrivée.
Ce que doit faire votre programme :
Votre programme lira un entier, l'heure d'arrivée, qui sera compris entre 0 et 12 inclus. 0 correspond à midi, 1 à 1h de l'après-midi, etc. et 12 à minuit.
Le prix de la chambre est de 10 pièces à midi, et augmente de 5 pièces chaque heure après midi. Il est donc de 15 pièces à 13h, etc. Il ne peut cependant pas dépasser 53 pièces.
Votre programme devra afficher le prix à payer correspondant à l'heure d'arrivée donnée.
Exemple 1
entrée :
7
sortie :
45
Exemple 2
entrée :
10
sortie :
53
MON CODE:
heureArrivee = int(input())
prixChambre = 10
for loop in range(heureArrivee):
heureArrivee += 1
prixChambre += 5
print(prixChambre)
Je suis bloquée car je ne sais pas comment introduire l'intervalle de 0 à 12. Faut-il que j'utilise le
if 0 <= heureArrivee <= 12 ? Je ne sais jamais s'il faut que j'utilise "For loop in range" ou le "if"
Qu'est-ce qui cloche dans mon code selon vous ?
Merci :-)
A voir également:
France-ioi
Tarifs dégressifs france ioi - Meilleures réponses
Demander heure d'arrivée
Affecter 10 au prix de la chambre
Si l'heure d'arrivée est compris entre 1 et 10
le prix de la chambre augmente de 5 euros à chaque heure
Afficher le prix de la chambre
jordane45
Messages postés37846Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention29 novembre 2023342 31 juil. 2018 à 22:40
Bonjour
Nul besoin de boucle
Pour cette exercice il suffit d'un bloc conditionnel if else et d'une simple operation mathématique
Dis toi que
Prix = 10 + h*5
H etant l'heure d'arrivée entre 0 et 12
Et que le max est de 53.
.si tu entres 7 le resultat sera
10 + 7*5 = 45
Si tu entres 10 ca fera
10 + 10*5 = 60... donc max => 53
C'est franchement simple comme logique... désolé..mais j'ai du mal a comprendre que tu puisse rencontrer des difficultés...
Whismeril
Messages postés18783Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention28 novembre 2023645 1 août 2018 à 00:04
Ta recette ne tient pas compte du max, ni du 0 à 12.
Et tu n’as pas choisi l’option la plus simple.
La méthode de Jordane, même si elle n’interdit de saisir 13, est plus simple.
Tu verras que dans la vie, la soultion la plus simple est souvent la meilleur.
Mais ça n’est pas pour ça qu’elle saute aux yeux.
Surtout, si dans ton cours tu en es aux boucles for, alors c’est à ça que tu penses en premier.
Tu n’as pas encore le niveau pour qu’un algorithme te vienne de A à Z en python. C’est pourquoi, je t’ai demandé de le formuler en français.
Donc toujours en français comment faire pour n’autoriser la saisie de que 0 à 12?
jordane45
Messages postés37846Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention29 novembre 2023342
>
Kams31
1 août 2018 à 09:28
Je sais qu'en disant ceci je vais te paraître très désagréable et je m'en excuse...
Car je ne dis pas que tu es débile.... mais dans mon message précédent je t'ai indiqué que les boucles n'étaient pas nécessaires.... et qu'il fallait utiliser un bloc conditionnel....
Avoue que de reparler encore une fois d'un compteur fait un peu tâche....
Avant de vouloir écrire du code il faut comprendre la "logique". c'est ce que Whism essaye de te faire faire....
Donc n'essaye pas d'aller trop vite. prends un peu de temps pour essayer d'analyser/comprendre le fonctionnement....
Whismeril
Messages postés18783Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention28 novembre 2023645 1 août 2018 à 00:14
Non, si je rentre 15 ça doit le refuser, et me redemander.
22 janv. 2020 à 20:13
22 janv. 2020 à 21:26
En plus en l'état, sans indentation ton code ne marche pas