Академия Eduson

Множества. Основы работы

Основной функционал при работе с множествами

 Что выведет следующий программный код?:

myset = set([1, 2, 2, 3, 4, 4, 4])
print(len(myset))

 Ответ:  4

 Что выведет следующий программный код?:

myset = set('ъъ эээ юююю яяяяя')
print(len(myset))

 Ответ:  5

 Программист написал программу, состоящую из одной строки:

print(len(set(input())))

Что выведет эта программа при вводе следующих строк:

  • Beegeek
  • карабас-барабас

 Ответ:  4; 6

 Что выведет следующий программный код?:

myset = {'Yellow', 'Orange', 'Black'}

print(myset[1])

 Ответ:  ошибка во время выполнения кода

 Дополните приведенный код так, чтобы он вывел сумму минимального и максимального элементов множества numbers.

numbers = {1.414, 12.5, 3.1415, 2.718, 9.8, 1.414, 1.1618, 1.324, 2.718, 1.324}

s = min(numbers) + max(numbers)

print(s)

 Дополните приведенный код, чтобы он вывел среднее арифметическое элементов множества numbers.

numbers = {20, 6, 8, 18, 18, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 12, 8, 8, 10, 4, 2, 2, 2, 16, 20}
average = sum(numbers) / len(numbers)

print(average)

 Что выведет следующий программный код?:

myset1 = set([1, 2, 3, 4, 5])
myset2 = set("12345")

print(myset1 == myset2)

 Ответ:  False

 Дополните приведенный код, чтобы он вывел сумму квадратов элементов множества numbers.

numbers = {9089, -67, -32, 1, 78, 23, -65, 99, 9089, 34, -32, 0, -67, 1, 11, 111, 111, 1, 23}

s = 0

for x in numbers:
    s += x ** 2

print(s)

 Дополните приведенный код, чтобы он вывел элементы множества fruits, каждый на отдельной строке, отсортированные по убыванию (в обратном лексикографическом порядке).

fruits = {'apple', 'banana', 'cherry', 'avocado', 'pineapple', 'apricot', 'banana', 'avocado', 'grapefruit'}

s = sorted(fruits, reverse=True)

print(*s, sep='\n')

 На вход программе подается строка текста. Напишите программу, которая определяет количество различных символов в строке.

a = set(input())

print(len(a))

 На вход программе подается строка, состоящая из цифр. Необходимо определить, верно ли, что в ее записи ни одна из цифр не повторяется?
 Программа должна вывести YES если ни одна из цифр в строке не повторяется и NO в противном случае.

a = input()

b = set(a)

if len(a) == len(b):
    print('YES')
else:
    print('NO')

 На вход программе подаются две строки, состоящие из цифр. Необходимо определить, верно ли, что в записи этих двух строк используются все десять цифр?
 Программа должна вывести YES, если в записи этих двух строк используются все десять цифр, и NO в противном случае.

a = input()
b = input()

s = set(a + b)

if len(s) == 10:
    print('YES')
else:
    print('NO')

 На вход программе подаются две строки, состоящие из цифр. Необходимо определить, верно ли, что для записи этих строк были использованы одинаковые наборы цифр?
 Программа должна вывести YES, если для записи этих строк были использованы одинаковые наборы цифр и NO, в противном случае.

a = set(input())
b = set(input())

if a == b:
    print('YES')
else:
    print('NO')

 На вход программе подается строка, состоящая из трех слов. Верно ли, что для записи всех трех слов был использован один и тот же набор букв?
 Программа должна вывести YES, если для записи всех трех слов был использован один и тот же набор букв и NO в противном случае.

a = input().split()

if set(a[0]) == set(a[1]) == set(a[2]):
    print('YES')
else:
    print('NO')