UnboundLocalError: local variable referenced before assignment in Python
Dung Do Tien Sep 01 2021 179
Hello you guys, I am a newbie in Python and I'm also studying more about Python.
I have a small assignment. I want to append an item to a list and print it out. Like this:
countries = ["Vietnam", "Laos", "USA"]
# Defined function help insert & print list countries
def buildCountries(s):
if s.strip():
countries = countries.append(s)
for i in range(0,len(countries)):
print(countries[i])
# Call function
buildCountries("UK")
But I get an exception UnboundLocalError: local variable 'countries' referenced before assignment when I run code above.
Traceback (most recent call last):
File "main.py", line 10, in <module>
buildCountries("Color")
File "main.py", line 7, in buildCountries
for i in range(0,len(countries)):
UnboundLocalError: local variable 'countries' referenced before assignment
And I am using Python 3.8.2
Anyone can explain it to me? How can I solve it?
Thanks for any response.
Have 1 answer(s) found.
- A-1
An Pham Truong Sep 01 2021
Please change
countries = countries.append(s)
tocountries.append(s)
:countries = ["Vietnam", "Laos", "USA"] # Defined function help insert & print list countries def buildCountries(s): if s.strip(): countries.append(s) for i in range(0,len(countries)): print(countries[i]) # Call function buildCountries("UK")
#Output
Vietnam Laos USA UK
* Type maximum 2000 characters.
* All comments have to wait approved before display.
* Please polite comment and respect questions and answers of others.