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
Post a Comment