0

I don't know why the functions is not using the if when the code works outside the function

word = input() #"3 is crowd" nonum = "" def change(a): print(a) if str(a) in word: nonum = word.replace(str(a),"three") change(3) print(nonum) # this returns 3 #----------------------------------------- word = input() #"3 is crowd" nonum = "" if str(3) in word: nonum = word.replace(str(3),"three") print(nonum) #this prints "three is crowd" which is the desired outcome #the only difference is if the if is inside the change() function #why is the if function not working when called inside change()?

30th Aug 2022, 10:43 PM
JoysTrick
JoysTrick - avatar
1 Answer
+ 1
There's no problem with the function, and the `if` conditional. The problem is, the <nonum> inside the function is local, it's not the same with the <nonum> defined outside the function - at global space. If you want to change a global variable in a function you need to specify that explicitly by adding global nonum One line above the replacement of 3 -> "three" statement, inside the `if` block
30th Aug 2022, 11:43 PM
Ipang