На вход программе подаётся натуральное число n, а затем n телефонных номеров, каждый на отдельной строке. Необходимо вывести те номера, которые являються корректными.
Корректными номерами являются:
(xxx) xxx-xxxx ; xxx-xxx-xxxx
некорректный это тот, что не подходит под образец, то есть, без тире и ковычек.
Суть проблемы:
Мой код не работает при коде
n=int(input())
for i in range(n)
xinput())
Потому что, ЕСЛИ один номер неправильный, но при этом другие правильные, то выводит нет.
Готовый код с этой проблемой:
[
def number_phone(n): all_numbers = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"] flag_one = False flag_two = False flag_three = False for i in range(n): phone_number = input() # (123)-123-12-12 if phone_number[0] == "(" and phone_number[4] == ")": flag_one = True else: return "Error" if phone_number[1:4] and phone_number[6:9] and phone_number[10:12] and phone_number[13:-1] in all_numbers: flag_two = True else: return "Error" if phone_number[5] == "-" and phone_number[9] == "-" and phone_number[12] == "-": flag_three = True if flag_one == flag_two == flag_three == True: return "Номер введен верно" else: return "Номер введен неверно" print(number_phone(2))