Retourner une variable depuis une définition

Résolu/Fermé
Alex - Modifié le 2 déc. 2020 à 16:40
jee pee Messages postés 39752 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 20 mai 2024 - 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 39752 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 20 mai 2024 9 192
Modifié le 2 déc. 2020 à 16:58
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 lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
2 déc. 2020 à 16:57
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 mercredi 2 décembre 2020 Statut Membre Dernière intervention 31 mai 2021
2 déc. 2020 à 16:53
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
ca ne marche pas j'ai déja essayé
0
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168 > Alex
2 déc. 2020 à 17:10
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 39752 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 20 mai 2024 9 192 > Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024
2 déc. 2020 à 17:13
Alex a juste du essayer de rajouter le return, pas la récupération de la valeur de retour dans la variable ;-)
0
désolé je n'avais pas mis les parenthèses
0