Format de variable
Fermé
fab44_1419
Messages postés
2
Date d'inscription
jeudi 25 février 2021
Statut
Membre
Dernière intervention
25 février 2021
-
Modifié le 25 févr. 2021 à 14:00
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 27 févr. 2021 à 08:48
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 27 févr. 2021 à 08:48
A voir également:
- Format de variable
- Format epub - Guide
- Telecharger format factory - Télécharger - Conversion & Codecs
- Format apfs - Guide
- Format dat - Guide
- Hp format tool - Télécharger - Stockage
7 réponses
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
Ambassadeur
1 556
Modifié le 25 févr. 2021 à 14:21
Modifié le 25 févr. 2021 à 14:21
bonjour,
tu n'expliques pas comment tester ton programme, ni le résultat attendu, ni l'erreur obtenue.
ton explication "Quand je remplace la liste en ligne 58 par la ligne 59" n'est pas très claire.
tu n'expliques pas comment tester ton programme, ni le résultat attendu, ni l'erreur obtenue.
ton explication "Quand je remplace la liste en ligne 58 par la ligne 59" n'est pas très claire.
Bonjour,
Pour tester mon programme , après l'avoir lancé, il faut répondre aux questions posées Quelle est le scène de départ, puis la scène d'arrivée.
Par exemple valley puis mainstage01.
Le résultat attendu est le tracé du graphe des scènes.
Pour essayer le tracé sans l'Algorithme de Dijkstra il faut remplacer la ligne 59 par la 58.
Cdt, Fab
Pour tester mon programme , après l'avoir lancé, il faut répondre aux questions posées Quelle est le scène de départ, puis la scène d'arrivée.
Par exemple valley puis mainstage01.
Le résultat attendu est le tracé du graphe des scènes.
Pour essayer le tracé sans l'Algorithme de Dijkstra il faut remplacer la ligne 59 par la 58.
Cdt, Fab
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
1 556
25 févr. 2021 à 15:18
25 févr. 2021 à 15:18
ce serait plus clair si tu montrais comment tu remplaces une ligne par une autre.
le programme que tu as partagé fonctionne bien.
quand je décommente la ligne 58 et commente la ligne 59, j'obtiens une erreur en ligne 100.
le programme que tu as partagé fonctionne bien.
quand je décommente la ligne 58 et commente la ligne 59, j'obtiens une erreur en ligne 100.
fab44_1419
Messages postés
2
Date d'inscription
jeudi 25 février 2021
Statut
Membre
Dernière intervention
25 février 2021
>
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
25 févr. 2021 à 17:35
25 févr. 2021 à 17:35
Voici le programme avec la ligne remplacée 58 et 75
# -*- coding: utf-8 -*-
"""
le 25/02/2021.
"""
from matplotlib import pyplot as plt
#---FONCTION QUI CALCULE TOUS LES PLUS COURTS CHEMINS DE LA SCENE DE DEPART A CHACUNE DES SCENES D'ARRIVEE (SOMMETS)-------
def Dijkstra_Scenes(G, s):
inf = sum(sum(G[sommet][i] for i in G[sommet]) for sommet in G) + 1
#On considère comme "infini" un majorant de la somme de toutes les pondérations du grapheScenes
global s_explore
global s_a_explorer
s_explore = {s : [0, [s]]}
#On associe au sommet_scene d'origine s la liste [longueur, plus court chemin]
s_a_explorer = {j : [inf, ""] for j in G if j != s}
#On associe à chaque sommet_scene j à explorer la liste [longueur, sommet précédent]
for suivant in G[s]:
s_a_explorer[suivant] = [G[s][suivant], s]
print("Dans le grapheScene d\'origine {} dont les arcs_longueur sont :".format(s))
for k in G:
print(k, ":", G[k])
print()
#On créé une boucle qui tourne tant que la liste des sommets_scenes à explorer contient
#des points tels que la distance provisoire calculée depuis l'origine est
#inférieure à l'infini
while s_a_explorer and any(s_a_explorer[k][0] < inf for k in s_a_explorer):
s_min = min(s_a_explorer, key = s_a_explorer.get)
longueur_s_min, precedent_s_min = s_a_explorer[s_min]
for successeur in G[s_min]:
if successeur in s_a_explorer:
dist = longueur_s_min + G[s_min][successeur]
if dist < s_a_explorer[successeur][0]:
s_a_explorer[successeur] = [dist, s_min]
s_explore[s_min] = [longueur_s_min, s_explore[precedent_s_min][1] + [s_min]]
del s_a_explorer[s_min]
return s_explore
#---------------------FONCTION QUI DEMANDE LE DEPART ET L'ARRIVEE DU GRAPHE------------------
def depart_arrivee(M, depart, arrivee):
Dijkstra_Scenes(M, depart)
for k in s_explore:
if arrivee == k:
print("Le plus court chemin menant de {} à {} est {} ".format(depart, arrivee, s_explore[k][1]))
print("Son poids en distance est égale à {} métres ".format(s_explore[k][0]))
parcours_liste = format(s_explore[k][1])
print("c'est ici {}".format(parcours_liste))
ListeScenesXo= ['mainstage02', 'mainstage01', 'warzone', 'altar', 'temple', 'valley']
#ListeScenesXo= parcours_liste
print("ListeScenesXo", ListeScenesXo)
for index, value in enumerate(ListeScenesXo):
if value == 'mainstage02':
ListeScenesXo[index] = 0.5
if value =='mainstage01':
ListeScenesXo[index] = 1.5
if value =='warzon':
ListeScenesXo[index] = 3
if value =='alta':
ListeScenesXo[index] = 4.5
if value =='templ':
ListeScenesXo[index] = 5.5
if value =='valley':
ListeScenesXo[index] = 7
ListeScenesYo= ['mainstage02', 'mainstage01', 'warzone', 'altar', 'temple', 'valley']
#ListeScenesYo= format(parcours_liste)
print("ListeScenesYo", ListeScenesYo)
for index, value in enumerate(ListeScenesYo):
if value == 'mainstage02':
ListeScenesYo[index] = 5.5
if value == 'mainstage01':
ListeScenesYo[index] = 5.5
if value == 'warzone':
ListeScenesYo[index] = 0.5
if value == 'altar':
ListeScenesYo[index] = 7
if value == 'temple':
ListeScenesYo[index] = 7
if value == 'valley':
ListeScenesYo[index] = 6
xo= ListeScenesXo # x0 et y0 sont les coordonnées du trajet
yo= ListeScenesYo
print("liste des scènes à afficher en x", xo)
print("liste des scènes à afficher en y", yo)
#plt.scatter(x,y,c='blue',label='Scène x')
#plt.legend()
plt.title('Scènes de spectacles')
plt.plot(xo,yo, "o-",color = "blue")
plt.grid()
plt.show()
for k in s_a_explorer:
if arrivee == k:
print("Il n\'existe aucun chemin de {} à {}".format(depart, arrivee))
#-------------------------------------------PROGRAMME PRINCIPAL------------------------------
grapheScenes = {
'mainstage01':{'mainstage02':200, 'altar':680, 'warzone':1040},
'mainstage02':{'mainstage01':200, 'altar':860, 'warzone':1120},
'altar':{'mainstage01':680, 'mainstage02':860, 'temple':200, 'warzone':1320},
'temple':{'altar':200, 'valley':360, 'warzone':1400},
'valley':{'temple':360, 'warzone':1380},
'warzone':{'mainstage01':1040, 'mainstage02':1120, 'altar':1320, 'temple':1400, 'valley':1380}
}
depart = input("Quelle est la scène de départ ? ")
arrivee = input("Quelle est la scène de d'arrivée ? ")
print()
depart_arrivee(grapheScenes, depart, arrivee)
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
1 556
>
fab44_1419
Messages postés
2
Date d'inscription
jeudi 25 février 2021
Statut
Membre
Dernière intervention
25 février 2021
25 févr. 2021 à 18:01
25 févr. 2021 à 18:01
peux-tu préciser "python" quand tu utilises les balises de code? https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
1 556
>
fab44_1419
Messages postés
2
Date d'inscription
jeudi 25 février 2021
Statut
Membre
Dernière intervention
25 février 2021
25 févr. 2021 à 18:05
25 févr. 2021 à 18:05
tu as donc partagé deux versions de ton programme. pourrais-tu maintenant leur donner un nom et expliquer le soucis?
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
1 556
>
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
Modifié le 25 févr. 2021 à 18:58
Modifié le 25 févr. 2021 à 18:58
ton programme affiche des informations. montre-nous quelles sont les informations incorrectes, et précise bien quelle version du programme tu utilises.
j'ai oublié de vous dire , que lorsqu'on laisse la ligne 58
le tracé n'est qu'un point
le tracé n'est qu'un point
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
1 556
25 févr. 2021 à 17:55
25 févr. 2021 à 17:55
tu n'as toujours pas expliqué le résultat attendu.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu me demandes la version de python : 3
En ce qui concerne ce qui ne fonctionne pas (dans la fonction def depart_arrivee(M, depart, arrivee) :Dijkstra_Scenes(M, depart))
- Quand je remplace ListeScenesXo= parcours_liste
par
ListeScenesXo= ['mainstage02', 'mainstage01', 'warzone', 'altar', 'temple', 'valley']
et
ListeScenesYo= format(parcours_liste)
par
ListeScenesYo= ['mainstage02', 'mainstage01', 'warzone', 'altar', 'temple', 'valley']
le tracé se dessine bien par j’impose en liste de scènes.
- quand je remets ce qui doit être : ListeScenesXo= parcours_liste
et ListeScenesYo= format(parcours_liste)
le dassin est un point.
L’erreur vient de la variable « parcours_liste »
- On peut le vérifier par
print("liste des scènes à afficher en x", xo)
print("liste des scènes à afficher en y", yo)
qui devraient afficher une liste de coordonnées et non une liste de noms de scènes.
En ce qui concerne ce qui ne fonctionne pas (dans la fonction def depart_arrivee(M, depart, arrivee) :Dijkstra_Scenes(M, depart))
- Quand je remplace ListeScenesXo= parcours_liste
par
ListeScenesXo= ['mainstage02', 'mainstage01', 'warzone', 'altar', 'temple', 'valley']
et
ListeScenesYo= format(parcours_liste)
par
ListeScenesYo= ['mainstage02', 'mainstage01', 'warzone', 'altar', 'temple', 'valley']
le tracé se dessine bien par j’impose en liste de scènes.
- quand je remets ce qui doit être : ListeScenesXo= parcours_liste
et ListeScenesYo= format(parcours_liste)
le dassin est un point.
L’erreur vient de la variable « parcours_liste »
- On peut le vérifier par
print("liste des scènes à afficher en x", xo)
print("liste des scènes à afficher en y", yo)
qui devraient afficher une liste de coordonnées et non une liste de noms de scènes.
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
1 556
26 févr. 2021 à 12:02
26 févr. 2021 à 12:02
en bien, il t'a fallu du temps pour expliquer que xo et yo devraient afficher une liste de coordonnées et non une liste de noms de scènes!
tu as deux versions de ton programme, celle que tu as partagé la première fois, et celle que tu as partagé la seconde fois.
quelle version te pose problème?
as-tu écrit ce programme? en comprends-tu le fonctionnement?
tu as deux versions de ton programme, celle que tu as partagé la première fois, et celle que tu as partagé la seconde fois.
quelle version te pose problème?
as-tu écrit ce programme? en comprends-tu le fonctionnement?
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
1 556
>
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
26 févr. 2021 à 12:20
26 févr. 2021 à 12:20
pourquoi fais-tu
quel est le but de cette instruction? que souhaites-tu avoir comme résultat dans
parcours_liste = format(s_explore[k][1])?
quel est le but de cette instruction? que souhaites-tu avoir comme résultat dans
parcours_liste?
Fab44_1419
>
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
26 févr. 2021 à 16:31
26 févr. 2021 à 16:31
oui c'est moi qui l'est écrit.
j'ai essayé de sortir les données correspondantes à la liste des scènes.
et J'arrive bien à les afficher avec
print("Le plus court chemin menant de {} à {} est {} ".format(depart, arrivee, s_explore[k][1])
mais apparemment pas à les mettre dans la variable parcours_liste
parcours_liste = format(s_explore[k][1]) ne fonctionne pas.
Je ne sais pas comment m’y prendre.
Aurais-tu une idée?
Merci d'avance, Fab44_1419
j'ai essayé de sortir les données correspondantes à la liste des scènes.
et J'arrive bien à les afficher avec
print("Le plus court chemin menant de {} à {} est {} ".format(depart, arrivee, s_explore[k][1])
mais apparemment pas à les mettre dans la variable parcours_liste
parcours_liste = format(s_explore[k][1]) ne fonctionne pas.
Je ne sais pas comment m’y prendre.
Aurais-tu une idée?
Merci d'avance, Fab44_1419
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
1 556
>
Fab44_1419
26 févr. 2021 à 17:18
26 févr. 2021 à 17:18
pourquoi utiliser format() dans
sais-tu à quoi sert format()?
parcours_liste = format(s_explore[k][1])?
sais-tu à quoi sert format()?
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
27 févr. 2021 à 08:48
27 févr. 2021 à 08:48
... et maitriser les balises de code:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
def test(): print('test') test()