пройдите в цикле по списку пока не встретится имя “Валера”. Когда найдете напишите “ты нашел Валеру”. Подсказка: используйте метод list.pop()
мое решение:
name = ['Вася', 'Маша', 'Петя', 'Валера', 'Саша', 'Даша'] while True: i = 0 searh_valera = name.pop(i) if searh_valera == 'Валера': print('Валера?') print('ты нашел Валеру!') break #pause else: print(searh_valera,'?') print('это не Валера') i += 1
вывод программы:
Вася ?
это не Валера
Маша ?
это не Валера
Петя ?
это не Валера
Валера?
ты нашел Валеру!
след задание:
Перепишите предыдущий пример в виде функции find_person(name), которая ищет имя в списке
вот что написал:
person = ['Вася', 'Маша', 'Петя', 'Валера', 'Саша', 'Даша'] def find_person(name): name = str(input("Кого будем искать? ")) while True: i = 0 searh_name = person.pop(i) if searh_name == name: print(name,'?') print('ты нашел', name) break #pause else: print(searh_name,'?') print('это не', name ) i += 1 p = find_person('Маша') print(p)
вывод программы:
Кого будем искать? Валера
Вася ?
это не Валера
Маша ?
это не Валера
Петя ?
это не Валера
Валера ?
ты нашел Валера
None
#вопрос 1: что нужно писать в скобках после find_person, который в конце программы? пробовал все имена, работает одинакого, пробовал оставить кавычки - результат такой же, если пустые скобки, то будет ошибка.
#вопрос 2: почему когда программа находит заданное имя после сообщения об успешном поиске пишется None?
Пробовал дописать return name
выводит:
Кого будем искать? Саша
Вася ?
это не Саша
Саша
не видит дальше первого и сразу пишет ответ