Langage PYTHON : Comment EFFACER l'affichage du résultat ?

OP
OM

Orque_Mignon

il y a 6 mois

Script fait par un khey (Je voulais un script qui augmente la valeur d'un nombre chaque seconde et qui affiche le résultat) https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

SpoilAfficherMasquer

import time

i = 0.0

while True:
time.sleep(1)
i = i + 0.25
print(i)

https://www.online-python.com/

Le script fonctionne bien mais au bout de quelques secondes tout se met à bug sur smartphone et la page part dans tous les sens, j'ai même du mal à arrêter le script. https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

Je voudrais que le résultat affiché en bas s'efface et laisse la place au nouveau résultat (au lieu d'avoir une liste qui s'allonge à l'infini. https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

AR

ArabellaRose

il y a 6 mois

Je suis sûr que chatgpt peut te répondre là dessus

OP
OM

Orque_Mignon

il y a 6 mois

https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

LU

Lukimi

il y a 6 mois

Bonjour !

Je comprends que vous souhaitez modifier votre script pour qu'il mette à jour la valeur affichée sans créer une nouvelle ligne à chaque seconde. Vous pouvez utiliser le caractère de retour chariot `\r` dans la fonction `print` pour revenir au début de la ligne et ainsi écraser le contenu précédent. De plus, en utilisant `end=''` et `flush=True`, vous vous assurez que la sortie est mise à jour immédiatement.

Voici comment vous pouvez modifier votre script :

```python
import time
import sys

i = 0.0

try:
while True:
time.sleep(1)
i += 0.25
# \r ramène le curseur au début de la ligne
print(f"\rValeur : {i:.2f}", end='', flush=True)
except KeyboardInterrupt:
# Permet d'arrêter le script proprement avec Ctrl+C
print("\nScript arrêté.")
sys.exit()
```

      1. Explications des modifications :

1. **Utilisation de `\r` :**
- Le caractère `\r` (retour chariot) permet de ramener le curseur au début de la ligne actuelle sans ajouter de nouvelle ligne. Cela permet d'écraser le contenu précédemment affiché.

2. **Paramètres `end` et `flush` :**
- `end=''` empêche `print` d'ajouter un saut de ligne à la fin de chaque impression.
- `flush=True` force l'écriture immédiate du contenu dans le terminal, assurant ainsi que la mise à jour s'affiche en temps réel.

3. **Formatage de la valeur :**
- `f"\rValeur : {i:.2f}"` formate la valeur de `i` avec deux décimales pour une meilleure lisibilité.

4. **Gestion des interruptions :**
- L'utilisation d'un bloc `try-except` permet de capturer l'interruption par l'utilisateur (comme Ctrl+C) et d'arrêter le script proprement sans laisser le terminal dans un état incohérent.

      1. Remarques supplémentaires :

- **Compatibilité sur smartphone :** Assurez-vous que votre terminal ou l'application que vous utilisez sur votre smartphone supporte bien les caractères de contrôle comme `\r`. Certains environnements peuvent ne pas les interpréter correctement.

- **Alternative avec des librairies :** Pour des interfaces plus complexes ou une meilleure gestion de l'affichage, vous pourriez envisager d'utiliser des bibliothèques comme `curses` (bien que son utilisation soit plus avancée et puisse ne pas être adaptée à un environnement mobile).

J'espère que cela résout votre problème ! N'hésitez pas à revenir si vous avez d'autres questions.

OP
OM

Orque_Mignon

il y a 6 mois


Je suis sûr que chatgpt peut te répondre là dessus

Si quelqu'un a accès à ChatGPT... https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

OP
OM

Orque_Mignon

il y a 6 mois


Bonjour !

Je comprends que vous souhaitez modifier votre script pour qu'il mette à jour la valeur affichée sans créer une nouvelle ligne à chaque seconde. Vous pouvez utiliser le caractère de retour chariot `\r` dans la fonction `print` pour revenir au début de la ligne et ainsi écraser le contenu précédent. De plus, en utilisant `end=''` et `flush=True`, vous vous assurez que la sortie est mise à jour immédiatement.

Voici comment vous pouvez modifier votre script :

```python
import time
import sys

i = 0.0

try:
while True:
time.sleep(1)
i += 0.25
# \r ramène le curseur au début de la ligne
print(f"\rValeur : {i:.2f}", end='', flush=True)
except KeyboardInterrupt:
# Permet d'arrêter le script proprement avec Ctrl+C
print("\nScript arrêté.")
sys.exit()
```

      1. Explications des modifications :

1. **Utilisation de `\r` :**
- Le caractère `\r` (retour chariot) permet de ramener le curseur au début de la ligne actuelle sans ajouter de nouvelle ligne. Cela permet d'écraser le contenu précédemment affiché.

2. **Paramètres `end` et `flush` :**
- `end=''` empêche `print` d'ajouter un saut de ligne à la fin de chaque impression.
- `flush=True` force l'écriture immédiate du contenu dans le terminal, assurant ainsi que la mise à jour s'affiche en temps réel.

3. **Formatage de la valeur :**
- `f"\rValeur : {i:.2f}"` formate la valeur de `i` avec deux décimales pour une meilleure lisibilité.

4. **Gestion des interruptions :**
- L'utilisation d'un bloc `try-except` permet de capturer l'interruption par l'utilisateur (comme Ctrl+C) et d'arrêter le script proprement sans laisser le terminal dans un état incohérent.

      1. Remarques supplémentaires :

- **Compatibilité sur smartphone :** Assurez-vous que votre terminal ou l'application que vous utilisez sur votre smartphone supporte bien les caractères de contrôle comme `\r`. Certains environnements peuvent ne pas les interpréter correctement.

- **Alternative avec des librairies :** Pour des interfaces plus complexes ou une meilleure gestion de l'affichage, vous pourriez envisager d'utiliser des bibliothèques comme `curses` (bien que son utilisation soit plus avancée et puisse ne pas être adaptée à un environnement mobile).

J'espère que cela résout votre problème ! N'hésitez pas à revenir si vous avez d'autres questions.

Ça marche pas du tout. https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

NO

nombark

il y a 6 mois

Un clear all ne marche pas ?

OP
OM

Orque_Mignon

il y a 6 mois

Pitié. https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

OP
OM

Orque_Mignon

il y a 6 mois


Un clear all ne marche pas ?

J'ai pas l'impression. https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

OP
OM

Orque_Mignon

il y a 6 mois

Personne code en Python ? https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

HB

HarryBoss

il y a 6 mois

J'pense pas que tu puisses mais si tu veux que ce soit moins anarchique tu peux remplacer ton print(i) par print(i, end=" ")

ça affichera tout sur une seule ligne

AE

AlhaitamEnjoyer

il y a 6 mois


L'élite.

Pour te répondre, un clear pourrait marcher si t'exécutais sous une console, là sans console ca dépend de l'implémentation de ta merde

HB

HarryBoss

il y a 6 mois


L'élite.

Pour te répondre, un clear pourrait marcher si t'exécutais sous une console, là sans console ca dépend de l'implémentation de ta merde

oui sur un truc implémenter sur un site comme ça tu peux pas clear la console je pense, d'où ma technique de tout afficher sur une ligne a la place

FA

Falquiero

il y a 6 mois

Il faut appeller une fonction système.

Tu es sur quel OS. "cls" ou "clear" et tu re-print.

import os os.system('cls') # on windows os.system('clear') # on linux / Mac
BI

bedophiIe

il y a 6 mois

HB

HarryBoss

il y a 6 mois


Il faut appeller une fonction système.

Tu es sur quel OS. "cls" ou "clear" et tu re-print.

import os os.system('cls') # on windows os.system('clear') # on linux / Mac

ça marchera pas sur ce site

BL

Bluuezilla

il y a 6 mois

tu peux utiliser tqdm si tu préfères avoir une barre horizontal

FA

Falquiero

il y a 6 mois


Personne code en Python ? https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

Si mais là t'es en jail donc t'es limité par l'environnement d'exécution donc faut lire la doc de ton site et je doute que ce soit possible.

Déjà tu dois même pas pouvoir importer un bibliothèque custom donc bon ...

OP
OM

Orque_Mignon

il y a 6 mois

Si mais là t'es en jail donc t'es limité par l'environnement d'exécution donc faut lire la doc de ton site et je doute que ce soit possible.

Déjà tu dois même pas pouvoir importer un bibliothèque custom donc bon ...

Tu connais pas un site internet qui permet de faire ça sans se casser le cul à coder ? Je veux juste que ça parte de 0 et que toutes les secondes le nombre augmente de 0,25. https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

Seconde 1 : 0
Seconde 2 : 0,25
Seconde 3 : 0,5
Seconde 4 : 0,75
Etc.

https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

GJ

Gilet_Jaune

il y a 6 mois

supprime system32

OP
OM

Orque_Mignon

il y a 6 mois


supprime system32

https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

FA

Falquiero

il y a 6 mois

Tu connais pas un site internet qui permet de faire ça sans se casser le cul à coder ? Je veux juste que ça parte de 0 et que toutes les secondes le nombre augmente de 0,25. https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

Seconde 1 : 0
Seconde 2 : 0,25
Seconde 3 : 0,5
Seconde 4 : 0,75
Etc.

https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

Un tweak dégueulasse qui "fonctionne" sur mon navigateur :

import time i = 0.0 while True: time.sleep(1) i = i + 0.25 print("\n" * 50), print(i),
FA

Falquiero

il y a 6 mois

Et le plus simple, si ton "application" est juste de le faire en JS sur un page web statique.

OP
OM

Orque_Mignon

il y a 6 mois

Un tweak dégueulasse qui "fonctionne" sur mon navigateur :

import time i = 0.0 while True: time.sleep(1) i = i + 0.25 print("\n" * 50), print(i),

Ça me fait toujours l'effet dégueulasse de page qui se rafraîchit et part dans tous les sens, clavier qui s'ouvre et qui se ferme etc. mais je vois le principe. (Je suis sur smartphone) https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

HB

HarryBoss

il y a 6 mois

Ma technique de juste tout mettre sur une ligne fout toujours le bordel ?

OP
OM

Orque_Mignon

il y a 6 mois


Ma technique de juste tout mettre sur une ligne fout toujours le bordel ?

Bah j'ai essayé et ça marche pas. https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

M4

me4far

il y a 6 mois

T'es sur le Terminal ou un IDE comme Thonny, VScode, Pycharm etc ?

HB

HarryBoss

il y a 6 mois

Bah j'ai essayé et ça marche pas. https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

Comment ça ça marche pas ça fait quoi

OP
OM

Orque_Mignon

il y a 6 mois

Dites vous que c'est juste pour voir en temps réel combien me rapporte mon RSA (J'ai fait le calcul et c'est 0,00020886350059737€ par seconde) https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

OP
OM

Orque_Mignon

il y a 6 mois

Comment ça ça marche pas ça fait quoi

Bah ça se lance pas du tout. https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

OP
OM

Orque_Mignon

il y a 6 mois


T'es sur le Terminal ou un IDE comme Thonny, VScode, Pycharm etc ?

Oulah tu me parles Chinois. https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

GJ

Gilet_Jaune

il y a 6 mois


Dites vous que c'est juste pour voir en temps réel combien me rapporte mon RSA (J'ai fait le calcul et c'est 0,00020886350059737€ par seconde) https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

mais

M4

me4far

il y a 6 mois


Dites vous que c'est juste pour voir en temps réel combien me rapporte mon RSA (J'ai fait le calcul et c'est 0,00020886350059737€ par seconde) https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

Putain l'élite

Par contre khey fait gaffe, avec les floatants ça sera peut être pas aussi précis que ça

M4

me4far

il y a 6 mois

Oulah tu me parles Chinois. https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

Tu le lances où ton code ?

OP
OM

Orque_Mignon

il y a 6 mois

mais

559,42€ par mois

18,0458064516129032€ par jour
0,75190860215053763€ par heure
0,01253181003584229€ par minute
0,00020886350059737€ par seconde

https://image.noelshack.com/fichiers/2018/01/2/1514887165-ahirsa.png

OP
OM

Orque_Mignon

il y a 6 mois

Tu le lances où ton code ?

Sur le site que j'ai mis. https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

GJ

Gilet_Jaune

il y a 6 mois

HB

HarryBoss

il y a 6 mois

Bah ça se lance pas du tout. https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

J'aai essayé sur mon tel ça marche nickel t'as du te merder

FA

Falquiero

il y a 6 mois

L'auteur https://gray-alligator.static.domains/

<!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Compteur Simple</title> <style> body { font-family: Arial, sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background-color: #f0f0f0; } #counter { font-size: 2rem; color: #333; } </style> </head> <body> <div id="counter">0.00</div> <script> let count = 0.00; function updateCounter() { count += 0.25; document.getElementById('counter').textContent = count.toFixed(2); } setInterval(updateCounter, 1000); // 1000ms = 1 seconde </script> </body> </html>
OP
OM

Orque_Mignon

il y a 6 mois


L'auteur https://gray-alligator.static.domains/

<!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Compteur Simple</title> <style> body { font-family: Arial, sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background-color: #f0f0f0; } #counter { font-size: 2rem; color: #333; } </style> </head> <body> <div id="counter">0.00</div> <script> let count = 0.00; function updateCounter() { count += 0.25; document.getElementById('counter').textContent = count.toFixed(2); } setInterval(updateCounter, 1000); // 1000ms = 1 seconde </script> </body> </html>

C'est pas mal, est-ce qu'on peut remplacer 0,25 par 0,00020886350059737 ? https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

UP

Update

il y a 6 mois

https://jsfiddle.net/
let i = 0 let increment = 0.25 setInterval(() => { i += increment; console.log(i) }, 1000)

OP
OM

Orque_Mignon

il y a 6 mois

Je reteste après si le truc de Falquiero fonctionne pas (mais ça a l'air de fonctionner) https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

OP
OM

Orque_Mignon

il y a 6 mois

Je touche tellement peu par seconde/minute/heure que ça fonctionne pas. https://image.noelshack.com/fichiers/2019/19/4/1557437332-ace383ce-418a-47f9-91b0-a862161adaac.jpeg

FA

Falquiero

il y a 6 mois

Vraiment un assisté

https://harlequin-dana-1.tiiny.site/

Juste les centimes par contre (donc faut attendre un peu avant que ça monte à 0.01)

OP
OM

Orque_Mignon

il y a 6 mois


Vraiment un assisté

https://harlequin-dana-1.tiiny.site/

Juste les centimes par contre (donc faut attendre un peu avant que ça monte à 0.01)

Ah nickel merci je mets ça en favoris. https://image.noelshack.com/fichiers/2018/01/2/1514887165-ahirsa.png

559,42€ par mois (RSA)

18,0458064516129032€ par jour
0,75190860215053763€ par heure
0,01253181003584229€ par minute
0,00020886350059737€ par seconde

J'ai déjà gagné 0,02€ le temps d'écrire ce message. https://image.noelshack.com/fichiers/2018/01/2/1514887165-ahirsa.png

HM

HappyMeal_

il y a 6 mois

Et dire que certains pensent que ChatGPT va remplacer les devs https://image.noelshack.com/minis/2018/01/2/1514887165-ahirsa.png