Récupérer plusieurs fois le retour d'un input(python)
Résolu/Fermé
damndamn
Messages postés
6
Date d'inscription
vendredi 7 janvier 2022
Statut
Membre
Dernière intervention
7 janvier 2022
-
Modifié le 7 janv. 2022 à 12:30
yg_be Messages postés 23449 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 janvier 2025 - 7 janv. 2022 à 14:57
yg_be Messages postés 23449 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 janvier 2025 - 7 janv. 2022 à 14:57
A voir également:
- Récupérer plusieurs fois le retour d'un input(python)
- Comment recuperer un message supprimé sur whatsapp - Guide
- Recuperer video youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
- Python est introuvable. exúcutez sans argument pour procúder ó l - Forum Python
7 réponses
yg_be
Messages postés
23449
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 janvier 2025
Ambassadeur
1 564
7 janv. 2022 à 13:29
7 janv. 2022 à 13:29
bonjour,
peux-tu donner un exemple de comment tu voudrais l'utiliser?
peux-tu donner un exemple de comment tu voudrais l'utiliser?
damndamn
Messages postés
6
Date d'inscription
vendredi 7 janvier 2022
Statut
Membre
Dernière intervention
7 janvier 2022
Modifié le 7 janv. 2022 à 13:34
Modifié le 7 janv. 2022 à 13:34
Bonjour,
en fait mon programme contient plusieurs modules, le retour de l'input sert à donner un nom à un fichier(json) que je crée, et il doit aussi pouvoir être écrit dedans, en tant qu'information. Donc dans les différents modules, j'ai plusieurs fonctions qui doivent pouvoir se servir de ce return, que ce soit, pour le nom de création du fichier, l'écriture de ce nom dans le fichier, et donc aussi le chemin d'écriture.
en fait mon programme contient plusieurs modules, le retour de l'input sert à donner un nom à un fichier(json) que je crée, et il doit aussi pouvoir être écrit dedans, en tant qu'information. Donc dans les différents modules, j'ai plusieurs fonctions qui doivent pouvoir se servir de ce return, que ce soit, pour le nom de création du fichier, l'écriture de ce nom dans le fichier, et donc aussi le chemin d'écriture.
yg_be
Messages postés
23449
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 janvier 2025
Ambassadeur
1 564
7 janv. 2022 à 13:42
7 janv. 2022 à 13:42
peut-être ainsi?
class ClassTest: Init = False def __init__(self): if not ClassTest.Init: ClassTest.input_test=input("?") ClassTest.Init=True def __str__(self): return ClassTest.input_test def test1(u): print(f"{u} test1") def test2(o): print(f"{o} test2") test1(ClassTest()) test2(ClassTest())
yg_be
Messages postés
23449
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 janvier 2025
1 564
7 janv. 2022 à 14:08
7 janv. 2022 à 14:08
ou bien:
class ClassTest: dico={} def __init__(self,q="?"): if not q in ClassTest.dico: r=input(q +"?") ClassTest.dico[q]=r else: r=ClassTest.dico[q] self.r=r def __str__(self): return self.r def test1(u): print(f"{u} test1") def test2(o): print(f"{o} test2") test1(ClassTest("y")) test2(ClassTest("g")) test2(ClassTest("y")) test1(ClassTest("g"))
damndamn
Messages postés
6
Date d'inscription
vendredi 7 janvier 2022
Statut
Membre
Dernière intervention
7 janvier 2022
7 janv. 2022 à 13:55
7 janv. 2022 à 13:55
Merci, oui ça marche sur un module, mais à partir du moment ou j'appelle plusieurs modules(a l'import), il lance automatiquement l'input, avant tout autre code...
Il faut se servir du 'if __name__ == __main:', pour éviter ça, c'est ça ?
Il faut se servir du 'if __name__ == __main:', pour éviter ça, c'est ça ?
yg_be
Messages postés
23449
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 janvier 2025
1 564
7 janv. 2022 à 14:11
7 janv. 2022 à 14:11
As-tu mis la déclaration de ClassTest dans un module séparé?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
damndamn
Messages postés
6
Date d'inscription
vendredi 7 janvier 2022
Statut
Membre
Dernière intervention
7 janvier 2022
Modifié le 7 janv. 2022 à 14:18
Modifié le 7 janv. 2022 à 14:18
non, mais je peux le faire.
Ca serait plus facile à gérer ?
Ton deuxième test marche aussi, mais c'est pareil, à l'import sur un autre module, il va d'abord lancer l'input avant le code qu'il devrait lancer en premier, normalement.
Ca serait plus facile à gérer ?
Ton deuxième test marche aussi, mais c'est pareil, à l'import sur un autre module, il va d'abord lancer l'input avant le code qu'il devrait lancer en premier, normalement.
yg_be
Messages postés
23449
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 janvier 2025
1 564
7 janv. 2022 à 14:25
7 janv. 2022 à 14:25
Pour que cela fonctionne, tu ne peux avoir qu'une seul déclaration de ClassTest.
Tu ne peux donc pas la copier dans plusieurs modules.
Je suppose que tu fais tout cela parce que tu ne sais pas où se fera la première utilisation du nom de fichier, et que tu ne sais donc pas où poser la question du nom de fichier? Pourquoi ne pas la poser au début, quand le programme démarre?
Tu ne peux donc pas la copier dans plusieurs modules.
Je suppose que tu fais tout cela parce que tu ne sais pas où se fera la première utilisation du nom de fichier, et que tu ne sais donc pas où poser la question du nom de fichier? Pourquoi ne pas la poser au début, quand le programme démarre?
damndamn
Messages postés
6
Date d'inscription
vendredi 7 janvier 2022
Statut
Membre
Dernière intervention
7 janvier 2022
7 janv. 2022 à 14:27
7 janv. 2022 à 14:27
Oui, je crois que c'est mieux comme ça.
Un peu comme une variable globale, c'est ça ?
Un peu comme une variable globale, c'est ça ?
yg_be
Messages postés
23449
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 janvier 2025
1 564
7 janv. 2022 à 14:46
7 janv. 2022 à 14:46
Tu réponds au premier ou au second paragraphe?
damndamn
Messages postés
6
Date d'inscription
vendredi 7 janvier 2022
Statut
Membre
Dernière intervention
7 janvier 2022
7 janv. 2022 à 14:48
7 janv. 2022 à 14:48
je voulais dire, oui la déclarer dès le début, et que ce soit une globale, est peut être mieux.:)
yg_be
Messages postés
23449
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 janvier 2025
1 564
7 janv. 2022 à 14:57
7 janv. 2022 à 14:57
C'est sans doute aussi le plus simple.