python - Finding number in list of tuple -


suppose functionget_number(directory, person), returns person's phone number. if number not found, return 0.

def make_directory():     return []  def add_number(directory, person, number):     directory.append((person,number))     print(str(person) + ' ' +'added!')     return(directory)   def get_number(directory, person):     if person == directory[0][0]:         return directory[0][1]     elif len(directory) >= 1:         return get_number(directory[1:],person)     else:         return 0   phonebook = make_directory() add_number(phonebook, 'police', 999) add_number(phonebook, 'lynna', 8444) add_number(phonebook, 'jack', 1123) add_number(phonebook, 'sister', 5720) print(get_number(phonebook, 'jack')) # should getting 1123 print_list(phonebook) #[('police', 999), ('lynna', 8444), ('jack', 1123), ('sister', 5720)] 

but not able it. may know problem?

because, comparing name against number. should have is

if person == directory[0][0]: 

also, condition should if directory has enough values in first. so, conditions become this

if len(directory) >= 1:     return 0 elif person == directory[0][1]:     return directory[0][1] else:     return get_number(directory[1:], person) 

note: recommend using python dictionary here. there purpose.


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -