Différence de résultat entre Python et Pycharm
Résolu
Froyorst
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
Froyorst Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
Froyorst Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai voulu me coder un petit timer en Python. J'ai fais mon truc avec PyCharm et le résultat est exactement celui escompté (un timer qui affiche à chaque seconde les secondes écoulées)
Le soucis c'est que si je le lance directement via python 3.8, il attend le temps max du timer, et puis seulement il affiche directement toutes les secondes écoulées.
Un raison à ce problème ? Comment est-ce possible que le comportement soit différent ?
Voici le code
Merci de vos réponses
J'ai voulu me coder un petit timer en Python. J'ai fais mon truc avec PyCharm et le résultat est exactement celui escompté (un timer qui affiche à chaque seconde les secondes écoulées)
Le soucis c'est que si je le lance directement via python 3.8, il attend le temps max du timer, et puis seulement il affiche directement toutes les secondes écoulées.
Un raison à ce problème ? Comment est-ce possible que le comportement soit différent ?
Voici le code
Merci de vos réponses
# Source [https://openclassrooms.com/forum/sujet/compte-a-rebours-simultane-avec-un-programme#message-91018311] from time import time,sleep from math import pi def timer(time_start, t): sleep(1) print("%.0f" % (time() - time_start), end=" ") return ((time() - time_start) >= t) def jouons(t): time_start = time() jouons3(time_start, t) def jouons3(time_start, t): while not timer(time_start, t): None return ("time's up") def liste(): print("Liste des personnages") print("1 : Anastasia") print("2 : Aspirine") print("3 : Ekly") print("4 : Enarion") print("5 : Froyorst") print("6 : Nyléa") print("7 : Orik") print("9 : Quitter") def message(): print(" ") print(" ") print("It's over!") print(" ") counter: int = 0 perso: str = " " liste() while perso != "0": perso = input("Veuillez entrer votre choix de personnage. Pour revoir le menu, entrez 9 : ") if perso == "9": liste() elif perso == "1": t: int = 15 jouons(t) message() elif perso == "2": t: int = 23 jouons(t) message() elif perso == "3": t: int = 16 jouons(t) message() elif perso == "4": t: int = 9 jouons(t) message() elif perso == "5": t: int = 10 jouons(t) message() elif perso == "6": t: int = 12 jouons(t) message() elif perso == "7": t: int = 14 jouons(t) message() elif perso != "0": print("Erreur de saisie. Veuillez ré-essayer")
A voir également:
- Différence de résultat entre Python et Pycharm
- Différence entre tcp et udp - Guide
- Difference entre million et milliard - Accueil - Technologies
- Resultat foot - Télécharger - Vie quotidienne
- Citizen code python avis - Accueil - Outils
- Difference entre mode avion et donnees mobiles - Guide
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
merci de préciser "python" quand tu utilises les balises de code pour partager du python.
as-tu testé en supprimant
merci de préciser "python" quand tu utilises les balises de code pour partager du python.
as-tu testé en supprimant
end=" "du
print()?
J'y penserai à l'avenir :)
Effectivement ça résoud le problème. Par contre du coup ce n'est pas top question lisibilité.
Il y a une alternative à qui permet d'avoir sur une même ligne tout en évitant ce problème ?
Merci de ta réponse :)
C'est parfait, ça marche nickel, un grand merci :)