Afficher une image en retrant le nom de celle-ci

Résolu/Fermé
alphonsedanlta63 Messages postés 18 Date d'inscription dimanche 28 juin 2020 Statut Membre Dernière intervention 25 novembre 2021 - Modifié le 17 mars 2021 à 00:11
yg_be Messages postés 23476 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 février 2025 - 17 mars 2021 à 13:14
Bonjour,

J'aimerais créer un programme qui affiche une image quand je rentre le nom de cette image dans la console. Autrement dit, j'aimerais quand je rentre "chien" dans la console que cela affiche l'image "chien.png".

Comme je me suis remis à Python que depuis peu mes souvenirs sont assez bancales, mais j'ai essayé de bricoler quelque chose qui ne marche pas (je suppose) à cause des espaces qui sont automatiquement créés avec la fonction input(). Lorsque je rentre "chien" dans la console, cela va chercher l'image avec le chemin "d:/Users/ chien .png" à la place de "d:/Users/chien.png", ces espaces faussent donc le chemin.

J'aimerais donc savoir s'il est possible de supprimer ces espaces pour que le chemin soit correct ou alors s'il y a une autre solution plus simple ?
J'aimerais aussi savoir s'il n'y a pas plus simple comme méthode pour afficher une image que celle que j'ai utilisée dans le code ?

Merci d'avance.



Voici le code :

from tkinter import *

x = input("Nom de l'image : ")
y = "d:/Users/", x,  ".png"

fenêtre = Tk()

z = PhotoImage(file = y)
label = Label(fenêtre, image = z)
label.pack()

fenêtre.mainloop()


EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.

2 réponses

yg_be Messages postés 23476 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 février 2025 Ambassadeur 1 568
16 mars 2021 à 22:53
bonjour,
est-ce ton premier exercice en python?

pourquoi utilises-tu des virgules ainsi?
y = "d:/Users/", x, ".png"


essaie ceci:
cc="a","b","c"
print(cc)

obtiens-tu le résultat que tu attends?
ne connais-tu pas d'autres opérateurs?
0
alphonsedanlta63 Messages postés 18 Date d'inscription dimanche 28 juin 2020 Statut Membre Dernière intervention 25 novembre 2021
17 mars 2021 à 12:41
Je ne sais pas ce que vous entendez par premier exercice ? Si vous parlez d'un exercice scolaire, non j'essaye simplement de faire un petit programme qui me facilitera la vie pour un projet personnel. J'ai fait une initiation à Python il y a quelques années où j'ai dû recréer le jeu de la bataille navale, mais ça s'arrête là je n'ai pas une grande expérience d'où ma question.

J'ai utilisé des virgules car c'est de cette façon que j'avais appris, cependant pour ce que je veux faire les virgules ne sont pas appropriées et il faut mettre à la place des "+" afin d'empêcher la création de tuple qui va générer des espaces avant et après.
0
yg_be Messages postés 23476 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 février 2025 1 568 > alphonsedanlta63 Messages postés 18 Date d'inscription dimanche 28 juin 2020 Statut Membre Dernière intervention 25 novembre 2021
17 mars 2021 à 13:14
peux-tu alors marquer la discussion comme résolue?
0
jordane45 Messages postés 38434 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 février 2025 4 735
16 mars 2021 à 23:01
0