Bonjour @ tous,
Je suis sur un projet de conversion d'un script bash en python, mais j'ai un problème avec la boucle while.
Voici une partie du code que je cherche à convertir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110 #!/bin/bash #Variables couleurs noir='\e[0;30m' gris='\e[1;30m' rougefonce='\e[0;31m' rose='\e[1;31m' vertfonce='\e[0;32m' vertclair='\e[1;32m' orange='\e[0;33m' jaune='\e[1;33m' bleufonce='\e[0;34m' bleuclair='\e[1;34m' violetfonce='\e[0;35m' violetclair='\e[1;35m' cyanfonce='\e[0;36m' cyanclair='\e[1;36m' grisclair='\e[0;37m' blanc='\e[1;37m' neutre='\e[0;m' echo -e "${bleufonce}###########################${neutre}" echo -e "${bleufonce}#${neutre} ${vertclair}Bienvenu dans DumpEdit.${neutre} ${bleufonce}#${neutre}" echo -e "${bleufonce}###########################${neutre}" echo "" echo "" echo "" echo -e "${jaune}Fonctions PSA:${neutre}" echo -e " *${cyanclair}FAP OFF EDC16C34${neutre} ${orange}(Format BDM et OBD)${neutre}" echo -e " *${cyanclair}IMMO OFF SID801${neutre} ${orange}(Sur EEPROM)${neutre}" echo -e " *${cyanclair}IMMO VIERGE SID801${neutre} ${orange}(Sur EEPROM)${neutre}" echo -e " *${cyanclair}IMMO OFF EDC15C2/C7${neutre} ${orange}(Sur Flash)${neutre}" echo -e " *${cyanclair}EGR CLOSE EDC16C34${neutre} ${orange}(Format BDM et OBD)${neutre}" echo -e " *${cyanclair}IMMO OFF EDC17C10${neutre} ${orange}(Sur EEPROM)${neutre}" echo -e " *${cyanclair}VIERGE PIN EDC17C10${neutre} ${orange}(Sur EEPROM)${neutre}" echo -e " *${cyanclair}VIERGE EEPROM 95128 BSI JC EVO${neutre}" echo "" echo -e "${jaune}Fonctions FCA:${neutre}" echo -e " *${cyanclair}EGR OFF 1.3 MultiJet 70cv${neutre}" echo -e " *${cyanclair}EGR OFF 1.3 MultiJet 75 et 90cv${neutre}" echo "" echo -e "${jaune}Fonctions VAG:${neutre}" echo -e " *${cyanclair}FAP OFF EDC16U31${neutre} ${orange}(Format BDM et OBD)${neutre}" echo "" echo -e "${jaune}Fonctions BMW:${neutre}" echo -e " *${cyanclair}IMMO OFF EDC17C06${neutre}" echo -e " *${cyanclair}IMMO OFF EDC16CP35${neutre}" echo "" echo "" echo "" echo -e "${cyanclair}Choisissez la marque de votre véhicule.${neutre}" echo "" echo -e "${cyanclair}Pour PSA tapez :${neutre} ${orange}1${neutre} ${cyanclair}Pour FCA tapez :${neutre} ${orange}2${neutre}" echo -e "${cyanclair}Pour VAG tapez :${neutre} ${orange}3${neutre} ${cyanclair}Pour BMW tapez :${neutre} ${orange}4${neutre}" echo "" echo -e "${cyanclair}Pour quitter tapez :${neutre} ${orange}quit${neutre} ${cyanclair}Pour chercher la compatibilité d'un ECU tapez :${neutre} ${orange}find${neutre}" echo "" echo "" read marque while [ $marque = "find" ] do elinks https://www.easyecu.com/Search?q= echo "" echo "" echo -e "${cyanclair}Que voulez vous faire?${neutre}" echo -e "${cyanclair}Pour retourner à l'acceuil tapez :${neutre} ${orange}index${neutre} ${cyanclair}Pour quitter tapez :${neutre} ${orange}quit${neutre}" read marque done while [ $marque = "index" ] do echo "" echo "" echo -e "${jaune}Fonctions PSA:${neutre}" echo -e " *${cyanclair}FAP OFF EDC16C34${neutre} ${orange}(Format BDM et OBD)${neutre}" echo -e " *${cyanclair}IMMO OFF SID801${neutre} ${orange}(Sur EEPROM)${neutre}" echo -e " *${cyanclair}IMMO VIERGE SID801${neutre} ${orange}(Sur EEPROM)${neutre}" echo -e " *${cyanclair}IMMO OFF EDC15C2/C7${neutre} ${orange}(Sur Flash)${neutre}" echo -e " *${cyanclair}EGR CLOSE EDC16C34${neutre} ${orange}(Format BDM et OBD)${neutre}" echo -e " *${cyanclair}IMMO OFF EDC17C10${neutre} ${orange}(Sur EEPROM)${neutre}" echo -e " *${cyanclair}VIERGE PIN EDC17C10${neutre} ${orange}(Sur EEPROM)${neutre}" echo -e " *${cyanclair}VIERGE EEPROM 95128 BSI JC EVO${neutre}" echo "" echo -e "${jaune}Fonctions FCA:${neutre}" echo -e " *${cyanclair}EGR OFF 1.3 MultiJet 70cv${neutre}" echo -e " *${cyanclair}EGR OFF 1.3 MultiJet 75 et 90cv${neutre}" echo "" echo -e "${jaune}Fonctions VAG:${neutre}" echo -e " *${cyanclair}FAP OFF EDC16U31${neutre} ${orange}(Format BDM et OBD)${neutre}" echo "" echo -e "${jaune}Fonctions BMW:${neutre}" echo -e " *${cyanclair}IMMO OFF EDC17C06${neutre}" echo -e " *${cyanclair}IMMO OFF EDC16CP35${neutre}" echo "" echo "" echo "" echo -e "${cyanclair}Choisissez la marque de votre véhicule.${neutre}" echo "" echo -e "${cyanclair}Pour PSA tapez :${neutre} ${orange}1${neutre} ${cyanclair}Pour FCA tapez :${neutre} ${orange}2${neutre}" echo -e "${cyanclair}Pour VAG tapez :${neutre} ${orange}3${neutre} ${cyanclair}Pour BMW tapez :${neutre} ${orange}4${neutre}" echo "" echo -e "${cyanclair}Pour quitter tapez :${neutre} ${orange}quit${neutre}" echo "" echo "" read marque done
Et voici mon début de conversion:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 #!/bin/python import os from colorama import Fore, Back, Style print(Fore.WHITE + Back.LIGHTBLUE_EX + 'Bienvenue dans ' + Fore.RED + Back.LIGHTBLUE_EX + 'DumpEdit' + Style.RESET_ALL) print() print() print() print(Fore.YELLOW + 'Fonctions PSA:' + Fore.RESET) print(Fore.CYAN + ' *FAP OFF EDC16C34 ' + Fore.RED + '(Format BDM et OBD)' + Fore.RESET) print(Fore.CYAN + ' *IMMO OFF SID801 ' + Fore.RED + '(Sur EEPROM)' + Fore.RESET) print(Fore.CYAN + ' *IMMO VIERGE SID801 ' + Fore.RED + '(Sur EEPROM)' + Fore.RESET) print(Fore.CYAN + ' *IMMO OFF EDC15C2/C7 ' + Fore.RED + '(Sur FLASH)' + Fore.RESET) print(Fore.CYAN + ' *EGR CLOSE EDC16C34 ' + Fore.RED + '(Format BDM et OBD)' + Fore.RESET) print(Fore.CYAN + ' *IMMO OFF EDC17C10 ' + Fore.RED + '(Sur EEPROM)' + Fore.RESET) print(Fore.CYAN + ' *VIERGE PIN EDC17C10 ' + Fore.RED + '(Sur EEPROM)' + Fore.RESET) print(Fore.CYAN + ' *VIERGE EEPROM 95128 BSI JC EVO' + Fore.RESET) print() print(Fore.YELLOW + 'Fonctions FCA:' + Fore.RESET) print(Fore.CYAN + ' *EGR OFF 1.3 MultiJet 70cv' + Fore.RESET) print(Fore.CYAN + ' *EGR OFF 1.3 MultiJet 75cv et 90cv' + Fore.RESET) print() print(Fore.YELLOW + 'Fonctions VAG:' + Fore.RESET) print(Fore.CYAN + ' *FAP OFF EDC16U31 ' + Fore.RED + '(Format BDM et OBD)' + Fore.RESET) print() print(Fore.YELLOW + 'Fonctions BMW:' + Fore.RESET) print(Fore.CYAN + ' *IMMO OFF EDC17C06' + Fore.RESET) print(Fore.CYAN + ' *IMMO OFF EDC16CP35' + Fore.RESET) print() print() print() print(Fore.CYAN + 'Choisissez la marque de votre véhicule' + Fore.RESET) print() print(Fore.CYAN + 'Pour PSA tapez : ' + Fore.YELLOW + '1' + ' ' + Fore.CYAN + 'Pour FCA tapez : ' + Fore.YELLOW + '2' + Fore.RESET) print(Fore.CYAN + 'Pour VAG tapez : ' + Fore.YELLOW + '3' + ' ' + Fore.CYAN + 'Pour BMW tapez : ' + Fore.YELLOW + '4' + Fore.RESET) print() print(Fore.CYAN + 'Pour quitter tapez : ' + Fore.YELLOW + 'quit' + Fore.RESET) print() print() choix = input() while choix == index: print('ok good')
Mon problème est que j'ai droit à une belle erreur me disant que le nom index n'est pas défini alors que le but est justement de définir ce que le programme doit faire dans la boucle while.
Désolé si ma question vous semble idiote, mais les recherches que je fais me mènent a chaque fois sur des exemple mathématique que je comprend mais ce n'est pas mon cas de figure et je suis un réel débutant en programmation.
Merci par avance pour votre aide.
Cordialement.
Jon.
Partager