Ask your own question, for FREE!
Computer Science 16 Online
OpenStudy (anonymous):

Return a new list of strs that contains the strs from the original list converted to uppercase. actually i am not understand what is this question asking for.

OpenStudy (anonymous):

This question is asking for you to generate a new list of strings from an old list of strings by converting each string to uppercase: transforming something like ["aaaa", "abab" , "acde"] into ["AAAA", "abab", "acde"]

OpenStudy (anonymous):

this is one line of Python: look at some str methods, and at the list comprehensions or the map function

OpenStudy (anonymous):

def get_upper_list(orginal_list): '''Return a new list of strs that contains the strs from the original list converted to uppercase''' original_list = '' new_strs = get_upper_list(original_list) return new_strs so is this OK if write like this?

OpenStudy (anonymous):

that would be an infinite loop :-P http://ideone.com/2Jh2j

OpenStudy (anonymous):

def get_upper_list(orginal_list): '''Return a new list of strs that contains the strs from the original list converted to uppercase''' original_list = [] list_strs = get_upper_list(original_list) return list_strs how about now?

OpenStudy (anonymous):

It's still an infinite loop: you are calling the function itself in the 5th line without a terminating condition

OpenStudy (anonymous):

i have no idea now can you help me write down something ... i know this is ...

OpenStudy (anonymous):

http://docs.python.org/tutorial/datastructures.html

OpenStudy (anonymous):

only, agdgdgdgwngo is right. What you have is a recursive function with no exit; it is going to continue calling itself forever. What you're probably looking for is something more like this: first_list = ['aaa','bbb','ccc'] upper_list = [] for item in first_list: upper_list.append(item.upper()) The work is done with a loop and the str.upper() command. If you were putting this into a function, it might look like: def make_upper(some_list): upper_list = [] for item in some_list: upper_list.append(item_upper()) return upper_list Notice here that the function is not calling itself. Now, you could conceivably use a recursive function, although it probably wouldn't be the right call for this task. It might look like this: def make_upper(some_list, upper_list): if some_list: ### as long as an item is still in some_list, recursive call upper_list.append(some_list.pop().upper()) make_upper(some_list, upper_list) ### the function is recursively calling itself return upper_list ### some_list is empty and upper_list is fully converted, return ### through all recursive levels some_list = ['aaa','bbb','ccc','ddd'] upper_list = [] get_list = make_upper(some_list, upper_list) get_list.reverse() ### this approach returns the list in reverse; set it right print get_list Hope that helps.

Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!
Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!