Problème d'espaces entre les mots
Résolu
Vanatos
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai fini un programme en python ayant pour but de trier une liste d'élève. Dans les actions que proposes mon programme on peut créer un nouveau fichier dans lequel seront écrit le nom, classe, prénom, spé1 et spé 2 de l'élève. Jusque là tout va bien. Problème je n'arrive pas à mettre des espaces entre le nom, prénom, classe etc... (oui c'est débile) si quelqu'un peut m'aider c'est cool !
Voici le code:
futur_tuple=[ ]
donne = "T4"
file_name = "eleves"
file_name = file_name+donne+".txt"
element = ""
with open('elevesT.txt', 'r') as file:
for ligne in file:
ligne=ligne.replace("\n", " ")
tab = ligne.split(" ")
tab = tuple(tab)
futur_tuple.append(tab)
for element in futur_tuple:
for finder in element:
if donne == finder:
element = ''.join(element)
print(element)
et la console sort (donc sans espaces)
RoustaingMaximeT4NSISVT
LavernLouisT4NSIMaths
VaysierPaulT4MathsNSI
RoustaingMaximeT4NSISVT
AlougesRonanT4MathsNSI
J'ai fini un programme en python ayant pour but de trier une liste d'élève. Dans les actions que proposes mon programme on peut créer un nouveau fichier dans lequel seront écrit le nom, classe, prénom, spé1 et spé 2 de l'élève. Jusque là tout va bien. Problème je n'arrive pas à mettre des espaces entre le nom, prénom, classe etc... (oui c'est débile) si quelqu'un peut m'aider c'est cool !
Voici le code:
futur_tuple=[ ]
donne = "T4"
file_name = "eleves"
file_name = file_name+donne+".txt"
element = ""
with open('elevesT.txt', 'r') as file:
for ligne in file:
ligne=ligne.replace("\n", " ")
tab = ligne.split(" ")
tab = tuple(tab)
futur_tuple.append(tab)
for element in futur_tuple:
for finder in element:
if donne == finder:
element = ''.join(element)
print(element)
et la console sort (donc sans espaces)
RoustaingMaximeT4NSISVT
LavernLouisT4NSIMaths
VaysierPaulT4MathsNSI
RoustaingMaximeT4NSISVT
AlougesRonanT4MathsNSI
5 réponses
-
Bonjour,
votre fichier est soumis au RGPD.
Pas sûr que publier les noms et prénoms de vos élèves sur un forum soit très légal.
https://www.cnil.fr/fr/reglement-europeen-protection-donnees -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, peut-être ainsi:futur_tuple=[ ] donne = "T4" file_name = "eleves" file_name = file_name+donne+".txt" with open('elevesT.txt', 'r') as file: for ligne in file: ligne=ligne.replace("\n", "") tab = ligne.split(" ") tab = tuple(tab) futur_tuple.append(tab) for element in futur_tuple: if donne in element: ligne="" for mot in element: if ligne != "": ligne=ligne+" " ligne = ligne + mot print(ligne)-
merci mais ça marche uniquement pour le dernier de la liste et les autres reste des tuples:
('Roustaing', 'Maxime', 'T4', 'NSI', 'SVT')
Roustaing Maxime T4 NSI SVT
('Lavern', 'Louis', 'T4', 'NSI', 'Maths')
Lavern Louis T4 NSI Maths
('Vaysier', 'Paul', 'T4', 'Maths', 'NSI')
Vaysier Paul T4 Maths NSI
('Roustaing', 'Maxime', 'T4', 'NSI', 'SVT')
Roustaing Maxime T4 NSI SVT
('Alouges', 'Ronan', 'T4', 'Maths', 'NSI')
Alouges Ronan T4 Maths NSI
-
-
-
re Bonjour, quand je met ce programme dans le programme principal, ça ne marche plus, pouvez vous m'aider ?
Voici le code:
Ca concerne uniquement la partie if menu == 3, ça n'écrit rien de le fichiermenu = 4
element = ""
while menu != 0:
menu = int(input("""Entrez un chiffre :\n
0: Quitter\n
1: Inscrire un nouvel élèves\n
2: Rechercher un élève\n
3: Créer une sous liste d'élèves à partir de critères\n"""))
if menu == 1:
info = ""
nom = input("Entrez un nom \n")
info = info + nom + " "
prenom = input("Entrez un prénom \n")
info = info + prenom + " "
classe = input("Entrez une classe \n")
info = info + classe + " "
spe1 = input("Entrez une 1er spécialité \n")
info = info + spe1 + " "
spe2 = input("Entrez une 2e spécialité \n")
info = info + spe2 + "\n"
with open("elevesT.txt",'a') as file:
file.write(info)
if menu == 2:
futur_tuple=[]
with open('elevesT.txt', 'r') as file:
for ligne in file:
ligne=ligne.replace("\n", "")
tab=ligne.split(" ")
tab=tuple(tab)
futur_tuple.append(tab)
donne = input("chercher un élève : ")
for element in futur_tuple:
for finder in element:
if donne == finder:
print(element)
if menu == 3:
#Partie à problèmes
futur_tuple=[ ]
donne = input("Entrez une donné")
file_name = "eleves"
file_name = file_name+donne+".txt"
with open('elevesT.txt', 'r') as file:
for ligne in file:
ligne=ligne.replace("\n", "")
tab = ligne.split(" ")
tab = tuple(tab)
futur_tuple.append(tab)
for element in futur_tuple:
if donne in element:
ligne=""
for mot in element:
if ligne != "":
ligne=ligne+" "
ligne = ligne + mot
print(ligne)
with open(file_name, "a") as file:
file.write(element)
if menu == 0:
while menu == 0:
break-
il faut utiliser les balises de code, sinon, le programme est illisible.
-
menu = 4 element = "" while menu != 0: menu = int(input("""Entrez un chiffre :\n 0: Quitter\n 1: Inscrire un nouvel élèves\n 2: Rechercher un élève\n 3: Créer une sous liste d'élèves à partir de critères\n""")) if menu == 1: info = "" nom = input("Entrez un nom \n") info = info + nom + " " prenom = input("Entrez un prénom \n") info = info + prenom + " " classe = input("Entrez une classe \n") info = info + classe + " " spe1 = input("Entrez une 1er spécialité \n") info = info + spe1 + " " spe2 = input("Entrez une 2e spécialité \n") info = info + spe2 + "\n" with open("elevesT.txt",'a') as file: file.write(info) if menu == 2: futur_tuple=[] with open('elevesT.txt', 'r') as file: for ligne in file: ligne=ligne.replace("\n", "") tab=ligne.split(" ") tab=tuple(tab) futur_tuple.append(tab) donne = input("chercher un élève : ") for element in futur_tuple: for finder in element: if donne == finder: print(element) if menu == 3: #Partie à problèmes futur_tuple=[ ] donne = input("Entrez une donné") file_name = "eleves" file_name = file_name+donne+".txt" with open('elevesT.txt', 'r') as file: for ligne in file: ligne=ligne.replace("\n", "") tab = ligne.split(" ") tab = tuple(tab) futur_tuple.append(tab) for element in futur_tuple: if donne in element: ligne="" for mot in element: if ligne != "": ligne=ligne+" " ligne = ligne + mot print(ligne) with open(file_name, "a") as file: file.write(element) if menu == 0: while menu == 0: break
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -