Créer une fonction recevant une liste L et renvoyant une liste M
Discutez d'informatique ici !
-
1997gaetan
- Messages: 1
- Enregistré le: 24 Oct 2015, 10:51
-
par 1997gaetan » 24 Oct 2015, 12:07
bonjour
je suis novice dans le langage python.
je souhaiterai avoir une aide pour démarrer mon DM
si L=(a0,a1,...,an-1) alors la ligne renvoyée sera M=(a0,a0+a1,a1+a2,....,an-2+an-1,an-1)
je n'arrive pas à écrire cette fonction, ni à voir par ou commencer
merci
-
messinmaisoui
- Habitué(e)
- Messages: 1897
- Enregistré le: 24 Oct 2007, 14:52
- Localisation: Moselle (57)
-
par messinmaisoui » 25 Oct 2015, 10:43
Je ne connais pas python mais bon voilà comment démarrer :
Ce lien
http://pythontips.com/2013/08/04/args-and-kwargs-in-python-explained/ m'indique ce code intéressant pour ce DM
- Code: Tout sélectionner
def test_var_args(f_arg, *argv):
print "first normal arg:", f_arg
for arg in argv:
print "another arg through *argv :", arg
test_var_args('yasoob','python','eggs','test')
En prenant un émulateur Python au hasard
http://www.pythontutor.com L'exécution du code ci-dessus nous donne
first normal arg: yasoob
another arg through *argv : python
another arg through *argv : eggs
another arg through *argv : test
Reste plus qu'à adapter le code
pour concaténer les paramètres variables en entrée de la fonction ...
Un début de réponse pour avancer :lol3:
Mon avatar me fait peur, est-ce normal docteur ?
-
joel76
- Membre Relatif
- Messages: 230
- Enregistré le: 11 Fév 2013, 16:31
-
par joel76 » 26 Oct 2015, 09:11
Une solution est de créer deux listes à partir de la première (a0, a1 ...) : une liste (0, a1, a2 ...) et une deuxième (a1, a2 ..., 0).
-
Joker62
- Membre Transcendant
- Messages: 5028
- Enregistré le: 24 Déc 2006, 20:29
-
par Joker62 » 19 Nov 2015, 12:36
def Modif(L):
return [L[0]] + [L[k-1] + L[k] for k in range(1, len(L))] + [L[len(L)-1]]
-
joel76
- Membre Relatif
- Messages: 230
- Enregistré le: 11 Fév 2013, 16:31
-
par joel76 » 19 Nov 2015, 13:18
Oui, c'était l'idée, mais je ne pratique pas assez Python !
-
fatal_error
- Modérateur
- Messages: 6610
- Enregistré le: 22 Nov 2007, 13:00
-
par fatal_error » 19 Nov 2015, 13:42
variante:
- Code: Tout sélectionner
[ sum(i) for i in zip(a+[0],[0]+a) ][0:len(a)]
la vie est une fête
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités