Programme Python trop redondant...
RésoluKikouillesUwU -
Bonsoir à tous ^^,
je suis débutant sur le logiciel et j'aimerai rendre un programme python un peu moins redondant. Voici mon énoncé:
Rédiger une fonction; repartition(liste_couple) qui imprime autant de fois que nécessaire le texte suivant : « Pour prénom, une bonne idée serait cadeau » où le prénom de la personne et le cadeau sont associés en amont (penser à faire une liste de listes).
Et voici mon programme:
<
list_gift=['une console de jeux','un vélo', 'des livres','de l’argent','une surprise']
prenom=['Patrick Bateman','Vladimir','Magicarp','Ruby Nikara','Ernest Khalimov']
import random
def repartition():
print(f'Pour {prenom[0]} une bonne idée serait {list_gift[0]}')
print(f'Pour {prenom[1]} une bonne idée serait {list_gift[1]}')
print(f'Pour {prenom[2]} une bonne idée serait {list_gift[2]}')
print(f'Pour {prenom[3]} une bonne idée serait {list_gift[3]}')
print(f'Pour {prenom[4]} une bonne idée serait {list_gift[4]}')
repartition()
>
Merci de votre aide x)
Windows / Chrome 107.0.0.0
- Programme Python trop redondant...
- Citizen code python avis - Accueil - Outils
- Programme demarrage windows - Guide
- Message programmé iphone - Guide
- Programme word gratuit - Guide
- Mettre en veille un programme - Guide
8 réponses
Bonjour,
Effectivement dans un programme on va faire une boucle pour répéter une action. Comme
for i in range(len(list));
Mais il faut d'abord te concentrer sur l'énoncé :
- prénom de la personne et le cadeau sont associés en amont (penser à faire une liste de listes).
- repartition(liste_couple)
Donc il te faut faire liste_couple, en combinant list_gift et prenom : [ [ 'patrick' , 'console' ] , [ 'vladimir' , 'velo' ] , ... ], et cette liste la passer en paramètre à la fonction repartition()
PS bis : pour afficher du code, il faut utiliser l'icone spécialisée <>, et donner le langage, Python, pour la coloration syntaxique.
Quand on a une liste de liste, il faut utiliser 2 indices, le 1er pour le niveau 1, le second pour le niveau 2 , liste[x][y],
x va être l'indice i et comme nous avons un couple au niveau 2 y va prendre les valeurs 0 et 1
import random list_gift=['une console de jeux','un vélo', 'des livres','de l’argent','une surprise'] prenom=['Patrick Bateman','Vladimir','Magicarp','Ruby Nikara','Ernest Khalimov'] list_couple=[['Patrick Bateman','une console de jeux'],['Vladimir','un velo'],['Magicarp','des livres'],['Ruby Nikara','de l’argent'],['Ernest Khalimov','une surprise']] def repartition(list_couple): for i in range(len(list_couple)): print(f'Pour {list_couple[i][0]} une bonne idée serait {list_couple[i][1]}') repartition(list_couple)
Mais il y a quelque chose dans ton programme qui ne va pas ;-) si on programme, c'est pour faire faire les choses à l'ordinateur. On ne va pas composer à la main liste_couple, c'est à l'ordinateur de le faire. En fait à toi d'écrire le programme pour lui donner la marche à suivre pour le faire à partir des 2 listes personne et cadeau.
Re bonjour,
Désolé je suis un peu perdu, je ne comprends pas ce que je dois mettre comme intervalle dans mes crochets dans le print...
list_gift=['une console de jeux','un vélo', 'des livres','de l’argent','une surprise'] prenom=['Patrick Bateman','Vladimir','Magicarp','Ruby Nikara','Ernest Khalimov'] list_couple=[['Patrick Bateman','une console de jeux'],['Vladimir','un velo'],['Magicarp','des livres'],['Ruby Nikara','de l’argent'],['Ernest Khalimov','une surprise']] import random def repartition(list_couple): for i in range(len(list_couple)): print(f'Pour {list_couple[]} une bonne idée serait {list_couple[]}') repartition(list_couple)
Merci ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question