Академия Eduson

Функции. Встроенные функции «any()», «all()», «zip()», «enumerate()»

 Функции «any()», «all()», «zip()», «enumerate()»

 Выберите значение, которое вернет встроенная функция all().

  • all([True, False])           False;
  • all([False, False])         False;
  • all([True, True])           True;
  • all([10, 100, 1000])    True;
  • all([10, 100, 0, 1000])      False;
  • all(['Python', 'C#'])      True;
  • all(['school', '', 'language'])      False;
  • all([(1, 2, 3), []])       False;
  • all([])                        True;
  • all([[], []])                 False;
  • all({0: 'Monday', 1: 'Tuesday', 2: 'Wednesday'})       False;
  • all({'name': 'Timur', 'age': 28})         True;
  • all({'': 'None', 'age': 28})          False

 Выберите значение, которое вернет встроенная функция any().

  • any([True, False])                 True;
  • any([False, False])               False;
  • any([True, True])                  True;
  • any([10, 100, 1000])           True;
  • any([0, 0, 0, 0])                    False;
  • any(['Python', 'C#'])            True;
  • any(['', '', 'language'])         True;
  • any([(1, 2, 3), []])                 True;
  • any([])                                   False;
  • any([[], []])                            False;
  • any({0: 'Monday', 1: 'Tuesday', 2: 'Wednesday'})         True;
  • any({0: 'Monday'})                               False;
  • any({'name': 'Timur', 'age': 28})           True;
  • any({'': 'None', 'age': 28})               True

 Что выведет указанный ниже код?:

numbers = [1, 2, 3, 4, 5, 6]

for index, elem in enumerate(numbers):
    if elem % 2 == 0:
        numbers[index] *= 2

print(numbers)

 Ответ:   [1, 4, 3, 8, 5, 12]

 Что выведет указанный ниже код?:

numbers = [10, 30, 20, 50, 40, 60, 70, 80]

total = 0
for index, number in enumerate(numbers, 1):
    if index % 2 == 0:
        total += number

print(total)

 Ответ:  220

 Что выведет указанный ниже код?:

list1 = [1, 2, 3, 4, 5]
list2 = [5, 4, 3, 2, 1]

result = 0
for x, y in zip(list1, list2):
    result += x*y

print(result)

 Ответ:  35

 Что выведет указанный ниже код?:

words1 = ['яблоко', 'ананас', 'апельсин', 'хурма', 'гранат', 'мандарин', 'айва']
words2 = ['林檎', 'パイナップル', 'オレンジ', '柿']
words3 = ['apple', 'pineapple', 'orange', 'persimmon', 'pomegranate']

print(len(list(zip(words1, words2, words3))))

 Ответ:  4

 Функция ignore_command() принимает на вход один строковый аргумент command – команда, которую нужно проверить, и возвращает значение True, если в команде содержится подстрока из списка ignore и False – если нет.

def ignore_command(command):
    ignore = ['alias', 'configuration', 'ip', 'sql', 'select', 'update', 'exec', 'del', 'truncate']

    for word in ignore:
        if word in command:
            return True
    return False

 Перепишите функцию ignore_command(), чтобы она использовала встроенные функции all()/any(), сохранив при этом ее функционал.

def ignore_command(command):
    ignore = ['alias', 'configuration', 'ip', 'sql', 'select', 'update', 'exec', 'del', 'truncate']
    return any(map(lambda s: s in command, ignore))

 Используя параллельную итерацию сразу по трем спискам countries, capitals и population выведите информацию о стране в формате:

 is the capital of , population equal  people.

Moscow is the capital of Russia, population equal 145934462 people.
Washington is the capital of USA, population equal 331002651 people.
...
countries = ['Russia', 'USA', 'UK', 'Germany', 'France', 'India']
capitals = ['Moscow', 'Washington', 'London', 'Berlin', 'Paris', 'Delhi']
population = [145_934_462, 331_002_651, 80_345_321, 67_886_011, 65_273_511, 1_380_004_385]

for country, capital, population in zip(countries, capitals, population):
    print(f'{capital} is the capital of {country}, population equal {population} people.')

 На вход программе подаются три строки текста с вещественными числами, значениями абсцисс (x), ординат (y) и аппликат (z) точек трехмерного пространства. Напишите программу для проверки расположения всех точек с введенными координатами внутри либо на поверхности шара с центром в начале координат и радиусом R =2.

abscissas = [float(i) for i in input().split()]
ordinates = [float(i) for i in input().split()]
applicates = [float(i) for i in input().split()]

R = 2

zips = list(zip(abscissas, ordinates, applicates))

a = all(x ** 2 + y ** 2 + z ** 2 <= R ** 2 for x, y, z in zips)

print(a)

 IP-адрес – уникальный числовой идентификатор устройства в компьютерной сети, работающей по протоколу TCP/IP. В 4-й версии IP-адрес представляет собой 32-битное число. Адрес записывается в виде четырёх десятичных чисел (октетов) со значением от 0 до 255 (включительно), разделённых точками, например, 192.168.1.2. Напишите программу с использованием встроенной функции all() для проверки корректности IP-адреса: все ли октеты в IP-адресе – числа со значением от 0 до 255.

adr = input().split('.')

print(all(map(lambda x: x.isdigit() and int(x) <= 255, adr)))

 На вход программе подаются два натуральных числа a и b. Напишите программу с использованием встроенной функции all() для обнаружения всех целых чисел в диапазоне [a; b], которые делятся на каждую содержащуюся в них цифру без остатка.

a, b = int(input()), int(input())

print(*filter(lambda n: all(map(lambda x: x != 0 and n % x == 0, map(int, str(n)))), range(a, b + 1)))

 Хороший пароль по условиям этой задачи состоит как минимум из 7 символов, содержит хотя бы одну цифру, заглавную и строчную букву. Напишите программу со встроенной функцией any() для определения хорош ли введенный пароль. Программа должна вывести YES, если строка – хороший пароль, и NO в противном случае.

pas = input()

print("YES" if all([any(map(lambda x: x.isdigit(), pas)), any(map(lambda x : x.islower(), pas)), any(map(lambda x : x.isupper(), pas)), len(pas) > 6]) else "NO")

 Учитель Тимур проверял контрольные работы по математике в нескольких классах онлайн-школы BEEGEEK и решил убедиться, что в каждом классе есть хотя бы один отличник – ученик с оценкой 5 по контрольной работе. Напишите программу с использованием встроенных функций all(), any() для помощи Тимуру в проверке. Программа должна вывести YES, если в каждом классе есть хотя бы один отличник, и NO в противном случае.

otl = []

for i in range(int(input())):  
    otl.append(any(['5' in input().split() for j in range(int(input()))]))

print('YES' if all(otl) else 'NO')