Ca fait un petit moment que je n'ai pas demandé de l'aide mais là, dire que je sèche c'est un euphémisme.
Je suis sur un exercice de france ioi qui m'arrache les cheveux et je sais que je fais n'importe quoi mais je n'arrive pas à formater mon cerveau pr comprendre....
Lors de l'examen final à la fin de leurs études, la tradition veut que les élèves tirent un sujet au hasard. Tirer un numéro dans un chapeau n'étant pas très amusant, ils utilisent une roue comme celle-ci, qu'ils peuvent faire tourner dans un sens ou dans l'autre.
Les enseignants, par expérience, arrivent toujours à estimer de combien de "zones" la roue va tourner et peuvent aller chercher le sujet et revenir, pendant que la roue tourne encore. Il faut, pour cela, calculer rapidement sur quelle zone le curseur va s'arrêter, en fonction du nombre de zones dont la roue va tourner. A vous de jouer !
Ce que doit faire votre programme :
Votre programme doit commencer par lire un entier nbZones. Sachant que la roue va tourner de nbZones zones, vous devez calculer (puis afficher) sur quelle zone le curseur va arriver.
Ainsi, si la route tourne de +2 zones alors le curseur arrive sur la zone 2, et si la roue tourne de -2 zones, alors le curseur arrive sur la zone 22.
Exemples
Exemple 1
entrée :
25
sortie :
1
Du coup dans mon délire de dev wannabe je me dis ok : au vu des exercices précédents ce que je dois faire c'est faire dire que :
(je mets mon processus mental parce que je me dis que c'est pas juste le code qui est daubé, mais mon cerveau aussi^^)
-ça va de 0 à 23, donc si c'est 24 ou un %24 alors ça donne zero.
-Ensuite si ça fait >0 et <=23, alors le résultat est celui donné en entrée et si c'est > 24 alors c'est l'entrée // 24
-pour les négatifs ça se corce un peu niveau code mais le processus reste le même : si c'est -24 ou un multipe de -24 alors le resultat est 0
-si ça fait >0 et < -23 alors le resultat est -(celui de l'entrée)
-si ça fait > 0 et > -23 alors le resultat est -(celui de l'entrée) // 24
(si vous lisez encore à ce stade je vous bénis).
Du coup j'en suis là à ce stade du mal de crâne :
from math import *
nbZones = int(input())
resultat = 0
if nbZones > 0 and nbZones <= 23:
resultat = nbZones
elif nbZones > 0 and nbZones > 24:
resultat = nbZones // 24
elif nbZones % 24 == 0:
resultat = 0
elif nbZones < 0 and nbZones >= 23:
resultat = (-nbZones)
elif nbZones < 0 and nbZones < 24:
resultat = (-nbZones) // 24
print(resultat)
pour note dans les négatifs je mets (-nbZones) mais j'ai un doute si on peut faire ça en python en fait (ou en quelque langage que ce soit en vrai)
Vala, si vous avez la bonté de m'aiguiller sans me torcher la réponse histoire que je comprenne vraiment ce que je fais je suis preneur^^
J'ai fais une grosse pause sur ce problème histoire de passer à autre chose et arrêter de me prendre la tête dessus et en revenant c'était tellement évident que j'ai du mal à comprendre comment j'ai pu me compliquer autant la vie....
Oui, ça tient en une ligne (très courte) et il n'y a aucun cas à distinguer.
effectivement, c'était le meilleur conseil que tu pouvais me donner !
Et merci d'avoir pris la peine de m'aider
@Dan : Aujourd'hui ça va, mais quand j'étais sur cet exercice j'aurai strictement rien bité à ton explication xD mais merci d'avoir pris le temps en tout cas
PascalOrtiz a écrit:
Vaggarathh a écrit:
bon alors je ne suis pas capable de comprendre. En une seule ligne sans distinguer aucun cas, je ne vois pas comment on peut faire.
j'abandonne là
Surtout pas ! après tous les efforts que tu as fait, ce serait dommage !
- Edité par Vaggarathh 25 septembre 2019 à 10:21:52
@BeltaiefEya Bonjour, merci de créer votre propre sujet en indiquent sur quoi vous bloquez et en fournissant le code que vous avez écrit en utilisant le bouton code </> du forum.
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Découverte Python Doc Tkinter Les chaînes de caractères
Découverte Python Doc Tkinter Les chaînes de caractères
Découverte Python Doc Tkinter Les chaînes de caractères
Découverte Python Doc Tkinter Les chaînes de caractères