Retourner une variable depuis une définition

Résolu
Alex -  
jee pee Messages postés 41301 Date d'inscription   Statut Modérateur Dernière intervention   - 2 déc. 2020 à 17:13
Bonjour, je voudrais savoir comment remplacer une variable par une autre venant d'une définition(en python), je n'explique pas très bien alors voici un code:
def s(w):
    w += 150


var0 = 150
print(var0)
s(var0)
print(var0)

je voudrais que la variable "var0" soit remplacé par la variable "w" et que je puisse ensuite l'utiliser en dehors de la définition "s".

4 réponses

jee pee Messages postés 41301 Date d'inscription   Statut Modérateur Dernière intervention   9 648
 
Bonjour,

Il faut que la fonction retourne une valeur, comme

def s(w):
    return w + 150

var0 = 150
print(var0)
var0=s(var0)
print(var0)


voir : https://www.pierre-giraud.com/python-apprendre-programmer-cours/valeur-retour-return-fonction/

1
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Bonjour Alex,

tu parles d'une définition, mais il s'agit d'une fonction

s ajoute 150 à la valeur qu'on lui passe en argument

si tu veux modifier var0, il faut retourner w dans la fonction:

def s(w):
    w += 150
    return(w)

var0 = s(var0)


et la var0 est égal à 300
1
superpip0 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
il faut un return (soit un retour)dans la fonction

def s(w):
    w += 150
    return w

par exemple cette fonction retourne w qui est un entier donc elle retourne un int(integer , un entier)
0
Alex
 
ca ne marche pas j'ai déja essayé
0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168 > Alex
 
ca m'étonnerais

def s(w):
    w += 150
    return(w)

var0 = 150
print(var0)
var0 = s(var0)
print(var0)     #imprime 300 !!
0
jee pee Messages postés 41301 Date d'inscription   Statut Modérateur Dernière intervention   9 648 > Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention  
 
Alex a juste du essayer de rajouter le return, pas la récupération de la valeur de retour dans la variable ;-)
0
Alex
 
désolé je n'avais pas mis les parenthèses
0