Importer module avec python
Résolu/Fermémamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 13 déc. 2022 à 14:24
- Importer module avec python
- Citizen code python avis - Accueil - Outils
- Importer favoris chrome - Guide
- Hkcmd module ✓ - Forum Virus
- Importer favoris firefox - Guide
10 réponses
11 déc. 2022 à 16:35
Bonjour,
est ce que vous pourriez nous montrer vos programmes svp ?
11 déc. 2022 à 17:53
Bonjour, merci de prêter attention à ce post =)
from turtle import * from math import * def branche(taille : float or int) -> float or int: """ Cette fonction définie la taille des branches du sapin sur l'aller (droit). """ assert type(taille)==float or int, "Le nombre entré ne doit pas être une chaine de caractère" assert taille >0, "Le nombre entré doit être supérieur à 0" forward(taille) left(135) forward(taille*3) right(135) def branche_retourne(taille :float or int) ->float or int: """ Cette fonction définie la taille des branches du sapin sur le retour (gauche). """ assert type(taille)==float or int, "Le nombre entré ne doit pas être une chaine de caractère" assert taille >0, "Le nombre entré doit être supérieur à 0" forward(taille*3) left(135) forward(taille) right(135) def deplacer_sans_tracer(x :float or int,y :float or int) ->float or int: """ Cette fonction permet de déplacer "la tortue" sans qu'elle ne dessine pour ajouter une nouvelle étoile à un autre endroit. """ assert type(x)==float or int, "Le nombre entré ne doit pas être une chaine de caractère" assert type(x)==float or int, "Le nombre entré ne doit pas être une chaine de caractère" up() goto(x, y) down() def sapin(taille :float or int) ->float or int: """ Cette fonction définie la couleur du tracé ainsi que la couleur du sapin. De plus, elle indique le nombre de répétition pour tracer les branches. """ assert type(taille)==float or int, "Le nombre entré ne doit pas être une chaine de caractère" assert taille >0, "Le nombre entré doit être supérieur à 0" ht() color('green') fillcolor('green') begin_fill() for i in range(5): branche(taille) right(135) for i in range (5): branche_retourne(taille) end_fill() def tronc(): """ Cette fonction permet de déplacer la tortue vers un point (x,y) et qui va tracer le tronc du sapin avec une couleur marron. Cette fonction ne prend pas en compte de variable de début d'où les () sans rien et n'a donc pas besoin d'assertions. """ ht() up() goto(-80,0) down() color('#983519') fillcolor('#983519') begin_fill() left(45) forward(100) right(90) forward(50) right(90) forward(100) right(90) forward(50) end_fill() setup(700,700) sapin(20) tronc() exitonclick()
et
from turtle import * from random import * def etoile(longueur :float or int) ->float or int: """ La fonction 'etoile()' permet de donner une couleur aux étoiles dessinées ainsi la taille de celles-ci. De plus elle définie le nombre de branches. """ assert type(longueur)==float or int, "Le nombre entré ne doit pas être une chaine de caractère" assert longueur >0, "Le nombre entré doit être supérieur à 0" color('yellow') for i in range(6): forward(longueur) backward(longueur) left(60) def deplacer_sans_tracer(x :float or int,y :float or int) ->float or int: """ Cette fonction permet de déplacer "la tortue" sans qu'elle ne dessine pour ajouter une nouvelle étoile à un autre endroit. """ assert type(x)==float or int, "Le nombre entré ne doit pas être une chaine de caractère" assert type(x)==float or int, "Le nombre entré ne doit pas être une chaine de caractère" up() goto(x, y) down() def ciel_etoile(nb_etoile :int) ->int: """ Cette fonction définie le fond de la fenêtre (ici bleu) ainsi que l'emplacment aléatoir des étoiles. """ assert type(nb_etoile)==int, "Le nombre entré ne doit pas être une chaine de caractère ou ne doit pas être un flottant" assert nb_etoile >0, "Le nombre entré doit être supérieur à 0" bgcolor("blue") # couleur du fond for i in range(nb_etoile): longueur_etoile = randint(5,20) deplacer_sans_tracer(randint(-300 ,300 ),randint(0,350 )) etoile(longueur_etoile) setup(700,700) ciel_etoile(1) exitonclick()
11 déc. 2022 à 18:14
Est ce que vous pouvez aussi nous montrer le programme qui à pour but d'importer les deux autres svp?
11 déc. 2022 à 21:35
Et bien j’ai essayé plusieurs trucs mais qui ne marchaient pas donc là je n’ai pas de code pour le troisième fichier.
Savez-vous comment faire cela ?
cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionIl suffit simplement de déplacer le curseur au centre pour dessiner ton sapin.
from turtle import * from math import * from random import * def etoile(longueur: float or int) -> float or int: """ La fonction 'etoile()' permet de donner une couleur aux étoiles dessinées ainsi la taille de celles-ci. De plus elle définie le nombre de branches. """ assert ( type(longueur) == float or int ), "Le nombre entré ne doit pas être une chaine de caractère" assert longueur > 0, "Le nombre entré doit être supérieur à 0" color("yellow") for i in range(6): forward(longueur) backward(longueur) left(60) def ciel_etoile(nb_etoile: int) -> int: """ Cette fonction définie le fond de la fenêtre (ici bleu) ainsi que l'emplacment aléatoir des étoiles. """ assert ( type(nb_etoile) == int ), "Le nombre entré ne doit pas être une chaine de caractère ou ne doit pas être un flottant" assert nb_etoile > 0, "Le nombre entré doit être supérieur à 0" bgcolor("blue") # couleur du fond for i in range(nb_etoile): longueur_etoile = randint(5, 20) deplacer_sans_tracer(randint(-300, 300), randint(0, 350)) etoile(longueur_etoile) def branche(taille: float or int) -> float or int: """ Cette fonction définie la taille des branches du sapin sur l'aller (droit). """ assert ( type(taille) == float or int ), "Le nombre entré ne doit pas être une chaine de caractère" assert taille > 0, "Le nombre entré doit être supérieur à 0" forward(taille) left(135) forward(taille * 3) right(135) def branche_retourne(taille: float or int) -> float or int: """ Cette fonction définie la taille des branches du sapin sur le retour (gauche). """ assert ( type(taille) == float or int ), "Le nombre entré ne doit pas être une chaine de caractère" assert taille > 0, "Le nombre entré doit être supérieur à 0" forward(taille * 3) left(135) forward(taille) right(135) def deplacer_sans_tracer(x: float or int, y: float or int) -> float or int: """ Cette fonction permet de déplacer "la tortue" sans qu'elle ne dessine pour ajouter une nouvelle étoile à un autre endroit. """ assert ( type(x) == float or int ), "Le nombre entré ne doit pas être une chaine de caractère" assert ( type(x) == float or int ), "Le nombre entré ne doit pas être une chaine de caractère" up() goto(x, y) down() def sapin(taille: float or int) -> float or int: """ Cette fonction définie la couleur du tracé ainsi que la couleur du sapin. De plus, elle indique le nombre de répétition pour tracer les branches. """ assert ( type(taille) == float or int ), "Le nombre entré ne doit pas être une chaine de caractère" assert taille > 0, "Le nombre entré doit être supérieur à 0" ht() color("green") fillcolor("green") begin_fill() for i in range(5): branche(taille) right(135) for i in range(5): branche_retourne(taille) end_fill() def tronc(): """ Cette fonction permet de déplacer la tortue vers un point (x,y) et qui va tracer le tronc du sapin avec une couleur marron. Cette fonction ne prend pas en compte de variable de début d'où les () sans rien et n'a donc pas besoin d'assertions. """ ht() up() goto(-80, 0) down() color("#983519") fillcolor("#983519") begin_fill() left(45) forward(100) right(90) forward(50) right(90) forward(100) right(90) forward(50) end_fill() setup(700, 700) ciel_etoile(15) deplacer_sans_tracer(0, 0) # remise au centre sapin(20) tronc() exitonclick()
11 déc. 2022 à 23:01
Voilà, vous pouvez utilisez le programme de bhore. Mais si vous voulez que ce soit un programme qui appelle le module sapin et le module ciel.
Il faut que vous mettiez tout le code qui n'est ni un import ni une fonction dans les programmes ciel et sapin dans une condition if __name__ == '__main__'.
ça nous donne donc :
sapin.py :
from turtle import * from math import * def branche(taille : float or int) -> float or int: """ Cette fonction définie la taille des branches du sapin sur l'aller (droit). """ assert type(taille)==float or int, "Le nombre entré ne doit pas être une chaine de caractère" assert taille >0, "Le nombre entré doit être supérieur à 0" forward(taille) left(135) forward(taille*3) right(135) def branche_retourne(taille :float or int) ->float or int: """ Cette fonction définie la taille des branches du sapin sur le retour (gauche). """ assert type(taille)==float or int, "Le nombre entré ne doit pas être une chaine de caractère" assert taille >0, "Le nombre entré doit être supérieur à 0" forward(taille*3) left(135) forward(taille) right(135) def deplacer_sans_tracer(x :float or int,y :float or int) ->float or int: """ Cette fonction permet de déplacer "la tortue" sans qu'elle ne dessine pour ajouter une nouvelle étoile à un autre endroit. """ assert type(x)==float or int, "Le nombre entré ne doit pas être une chaine de caractère" assert type(x)==float or int, "Le nombre entré ne doit pas être une chaine de caractère" up() goto(x, y) down() def sapin(taille :float or int) ->float or int: """ Cette fonction définie la couleur du tracé ainsi que la couleur du sapin. De plus, elle indique le nombre de répétition pour tracer les branches. """ assert type(taille)==float or int, "Le nombre entré ne doit pas être une chaine de caractère" assert taille >0, "Le nombre entré doit être supérieur à 0" ht() color('green') fillcolor('green') begin_fill() for i in range(5): branche(taille) right(135) for i in range (5): branche_retourne(taille) end_fill() def tronc(): """ Cette fonction permet de déplacer la tortue vers un point (x,y) et qui va tracer le tronc du sapin avec une couleur marron. Cette fonction ne prend pas en compte de variable de début d'où les () sans rien et n'a donc pas besoin d'assertions. """ ht() up() goto(-80,0) down() color('#983519') fillcolor('#983519') begin_fill() left(45) forward(100) right(90) forward(50) right(90) forward(100) right(90) forward(50) end_fill() if __name__ == '__main__': '''le code dans if __name__ == '__main__' ne s'execute pas si c'est un autre programme qui l'appelle''' setup(700,700) sapin(20) tronc() exitonclick()
ciel.py :
from turtle import * from random import * def etoile(longueur :float or int) ->float or int: """ La fonction 'etoile()' permet de donner une couleur aux étoiles dessinées ainsi la taille de celles-ci. De plus elle définie le nombre de branches. """ assert type(longueur)==float or int, "Le nombre entré ne doit pas être une chaine de caractère" assert longueur >0, "Le nombre entré doit être supérieur à 0" color('yellow') for i in range(6): forward(longueur) backward(longueur) left(60) def deplacer_sans_tracer(x :float or int,y :float or int) ->float or int: """ Cette fonction permet de déplacer "la tortue" sans qu'elle ne dessine pour ajouter une nouvelle étoile à un autre endroit. """ assert type(x)==float or int, "Le nombre entré ne doit pas être une chaine de caractère" assert type(x)==float or int, "Le nombre entré ne doit pas être une chaine de caractère" up() goto(x, y) down() def ciel_etoile(nb_etoile :int) ->int: """ Cette fonction définie le fond de la fenêtre (ici bleu) ainsi que l'emplacment aléatoir des étoiles. """ assert type(nb_etoile)==int, "Le nombre entré ne doit pas être une chaine de caractère ou ne doit pas être un flottant" assert nb_etoile >0, "Le nombre entré doit être supérieur à 0" bgcolor("blue") # couleur du fond for i in range(nb_etoile): longueur_etoile = randint(5,20) deplacer_sans_tracer(randint(-300 ,300 ),randint(0,350 )) etoile(longueur_etoile) if __name__ == '__main__': setup(700,700) ciel_etoile(1) exitonclick()
le programme qui regroupe les deux autres :
from turtle import * from ciel import * from sapin import * setup(700,700) ciel_etoile(1) deplacer_sans_tracer(0, 0) sapin(20) tronc() exitonclick()
12 déc. 2022 à 07:09
Merci pour votre réponse !
en effet comme l’a dit @yamawi StatutMembre il faut créer un nouveau fichier…
Je vais tester cela aujourd’hui et je reviens vers vous !
12 déc. 2022 à 16:32
Bonjour,
Soit tu crées un troisième fichier, soit tu importes les deux fonctions (disons dessiner_ciel depuis ciel.py et dessiner_sapin depuis sapin.py) depuis ton interpréteur python avec les fonctions suivantes :
from sapin import dessiner_sapin from ciel import dessiner_ciel dessiner_sapin() dessiner_ciel()
Bonne chance
12 déc. 2022 à 16:58
Bonjour, j'ai essayer vos deux codes @mamiemando StatutModérateur et @yamawi StatutMembre mais cela ne marche pas : je l'ai testé sur deux environnements différents et deux problèmes différents : d'un côté avec l'éditeur "Thonny" seul le ciel étoilé s'affiche et d'un autre côté, sur "VS code" j'ai des problèmes avec les :
def fonction (variable : float or int) -> float or int :
La console m'indique une syntaxe invalide avec les ':' entre parenthèse.
Quand je les enlève, j'ai une nouvelle erreur qui m'indique que le code n'est pas encodé en ASCII or python fonctionne en UTF-8...
Je ne comprends pas.
Cordialement
12 déc. 2022 à 17:59
Bonjour,
Cela ne correspond pas au code que je t'ai donné. Et effectivement, float or int n'est pas un type, donc syntaxiquement c'est incorrect. Tu devrais plutôt écrire float.
Ensuite par rapport au code que je t'ai donné, il faut évidemment adapter le nom des modules et des fonctions par rapport à ceux que tu utilisent.
sapin.py
def dessiner_sapin(): print("sapin")
ciel.py
def dessiner_ciel(): print("ciel")
toto.py
from sapin import dessiner_sapin from ciel import dessiner_ciel dessiner_sapin() dessiner_ciel()
Résultat
sapin
ciel
Bonne chance
12 déc. 2022 à 19:55
J'ai finalement réussi à les superposer sur l'IDE Thonny avec ces codes :
Sapin.py
# -*- coding: utf-8 -*- from turtle import * from math import * def branche(taille : float ) -> float : """ Cette fonction définie la taille des branches du sapin sur l'aller (droit). Le nombre entré doit être un flottant """ assert type(taille)==float, "Le nombre entré doit être un flottant" assert taille >0, "Le nombre entré doit être supérieur à 0" forward(taille) left(135) forward(taille*3) right(135) def branche_retourne(taille :float ) ->float : """ Cette fonction définie la taille des branches du sapin sur le retour (gauche). Le nombre entré doit être un flottant. """ assert type(taille)==float , "Le nombre entré doit être un flottant" assert taille >0, "Le nombre entré doit être supérieur à 0" forward(taille*3) left(135) forward(taille) right(135) def deplacer_sans_tracer(x :float ,y :float ) ->float : """ Cette fonction permet de déplacer "la tortue" sans qu'elle ne dessine pour ajouter une nouvelle étoile à un autre endroit. Le nombre entré doit être un flottant. """ assert type(x)==float, "Le nombre entré doit être un flottant" assert type(y)==float, "Le nombre entré doit être un flottant" up() goto(x, y) down() def sapin(taille :float) ->float : """ Cette fonction définie la couleur du tracé ainsi que la couleur du sapin. De plus, elle indique le nombre de répétition pour tracer les branches. Le nombre entré doit être un flottant """ assert type(taille)==float , "Le nombre entré doit être un flottant" assert taille >0, "Le nombre entré doit être supérieur à 0" ht() up() goto(0.0,0.0) color('green') fillcolor('green') begin_fill() for i in range(5): branche(taille) right(135) for i in range (5): branche_retourne(taille) end_fill() def tronc(): """ Cette fonction permet de déplacer la tortue vers un po (x,y) et qui va tracer le tronc du sapin avec une couleur marron. Cette fonction ne prend pas en compte de variable de début d'où les () sans rien et n'a donc pas besoin d'assertions. """ up() goto(-80,0) color('#983519') fillcolor('#983519') begin_fill() down() left(45) forward(100) right(90) forward(50) right(90) forward(100) right(90) forward(50) end_fill()
etoile.py
# -*- coding: utf-8 -*- from turtle import * from random import * def etoile(longueur ) : """ La fonction 'etoile()' permet de donner une couleur aux étoiles dessinées ainsi la taille de celles-ci. De plus elle définie le nombre de branches. Le nombre entré doit être un entier """ assert type(longueur)==int , "Le nombre entré doit être un entier " assert longueur >0, "Le nombre entré doit être supérieur à 0" color('yellow') for i in range(6): forward(longueur) backward(longueur) left(60) def deplacer_sans_tracer(x :int ,y :int) ->int : """ Cette fonction permet de déplacer "la tortue" sans qu'elle ne dessine pour ajouter une nouvelle étoile à un autre endroit. Le nombre entré doit être un entier. """ assert type(x)==int , "Le nombre entré doit être un entier" assert type(x)==int, "Le nombre entré ne doit pas être une chaine de caractère" up() goto(x, y) down() def ciel_etoile(nb_etoile :int) ->int: """ Cette fonction définie le fond de la fenêtre (ici bleu) ainsi que l'emplacment aléatoir des étoiles. """ assert type(nb_etoile)==int, "Le nombre entré ne doit pas être une chaine de caractère ou ne doit pas être un flottant" assert nb_etoile >0, "Le nombre entré doit être supérieur à 0" bgcolor("blue") # couleur du fond for i in range(nb_etoile): longueur_etoile = randint(5,20) deplacer_sans_tracer(randint(-300 ,300 ),randint(0,350 )) etoile(longueur_etoile)
et noel.py
# -*- coding: utf-8 -*- from sapin import tronc from sapin import sapin from etoile import ciel_etoile ciel_etoile(16) sapin(20.0) tronc()
Je n'ai par contre pas réussi avec l'IDE VSCode.
En tout cas, merci à vous tous pour m'avoir aidé !!!! =)
12 déc. 2022 à 20:36
Si ça ne marche pas dans VSCode, il faut t'assurer que le script que tu as créé dans VSCode est bien placé dans le même dossier que sapin.py et etoile.py sinon ça ne peut pas marcher. Ensuite, tout dépend de comment tu as configuré ton projet, mais n'utilisant pas VSCode je ne saurais te dire ce qui ne va pas. Si tu es plus à l'aise avec Thonny, peut-être que le plus simple c'est que tu te contentes de cet IDE ;-)
12 déc. 2022 à 21:31
Ouais bah je sais pas du coup car oui les trois fichiers sont dans le même dossier (c’est pour cela que ça marche avec Thonny)
Bonne soirée
13 déc. 2022 à 14:24
Peut-être que ton IDE VSCode indique pourquoi il ne comprend pas les import ? Voir par exemple ce lien.