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

créer une fonction recevant une liste L et renvoyant une liste M

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



Avatar de l’utilisateur
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 !

Avatar de l’utilisateur
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 :)

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite