Scope of Variables dentro y fuera de las funciones
int
¶num
que es un número entero.return
num
se imprime un 3 y no un cero.num
que hay dentro de la función es una variable distinta a la variable global num
que hay declarada fuera de la función.def impares_a_cero(num):
if num % 2:
num = 0
num = 3
impares_a_cero(num)
print(num)
3
Para lograr que se imprima el valor cero podemos utilizar la intrucción global
para indicar que la variable interior en la función es la misma variable que hemos declarado fuera de la función.
def impares_a_cero():
global num
if num % 2:
num = 0
num = 3
impares_a_cero()
print(num)
0
Usando un return
y alterando el valor de la variable.
def impares_a_cero(num):
if num % 2:
num = 0
return num
num = 3
num = impares_a_cero(num)
print(num)
0
int
¶impares_a_cero
recibe la referencia a la lista nums
.def impares_a_cero(nums):
for r in range(len(nums)):
if nums[r] % 2:
nums[r] = 0
nums = [1,2,3,4,5,6,7,8,9,10]
impares_a_cero(nums)
print(nums)
[0, 2, 0, 4, 0, 6, 0, 8, 0, 10]