Can anyone help me with this Python program?
>have a bunch of names
>need first char of each name to be printed on same line in uppercase
Code:
#!/usr/bin/env python
def get_upper(string):
new_string = ''
for char in string:
new_string = new_string + char.upper()
if new_string:
return new_string
else:
return False
def get_lower(string):
new_string = ''
for char in string:
new_string = new_string + char.lower()
if new_string:
return new_string
else:
return False
def get_name(name):
return name
def get_first_letter(name):
first = None
for letter in name:
if get_lower(letter) == get_lower(name[0]):
first = get_lower(letter)
if first:
return first
else:
return False
def operations():
name_list = []
counter = 1
while counter < 8:
if counter == 1:
name_list.append("get_name('terry')")
elif counter == 2:
name_list.append("get_name('rose')")
elif counter == 3:
name_list.append("get_name('opie')")
elif counter == 4:
name_list.append("get_name('luke')")
elif counter == 5:
name_list.append("get_name('larry')")
elif counter == 6:
name_list.append("get_name('eddie')")
elif counter == 7:
name_list.append("get_name('derrik')")
counter = counter + 1
if counter > 7:
break
for name_func in name_list:
name = eval(name_func)
first_letter = get_first_letter(name)
print get_upper(first_letter),
operation()
Getting this error though:
Traceback (most recent call last):
File "lol.py", line 65, in <module>
operation()
NameError: name 'operation' is not defined
operation() clearly is defined though, so what's wrong?