Академия Eduson

Множества. Методы. Часть 3

 Подмножества и надмножества

 Что покажет приведенный ниже фрагмент кода?:

set1 = {10, 20, 30, 40}
set2 = set(range(50))

print(set1.issubset(set2))

 Ответ:  True

 Что покажет приведенный ниже фрагмент кода?:

set1 = set('Stepik')
set2 = set('stepik')

print(set1.issubset(set2))

 Ответ:  False

 Что покажет приведенный ниже фрагмент кода?:

word = 'beegeek'
set1 = set(word*3)
set2 = set(word[::-1]*2 + 'stepik')

print(set1 < set2)

 Ответ:  True

 Что покажет приведенный ниже фрагмент кода?:

set1 = {1, 2, 3, 4, 5, 6, 7, 8}
list1 = [1, 2, 3, 4, 5]

print(set1.issuperset(list1))

 Ответ: True

 Что покажет приведенный ниже фрагмент кода?:

set1 = {'q', 'w', 'e', 'r', 't', 'y'}
list1 = ['y', 'w', 'r']

print(set1 >= list1)

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

 Что покажет приведенный ниже фрагмент кода?:

set1 = set(range(1, 10))
set2 = set(range(10, 20))

print(set1.isdisjoint(set2))

 Ответ:  True

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

a = set(int(i) for i in input())
b = set(int(i) for i in input())

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

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

a = set(int(i) for i in input())
b = set(int(i) for i in input())

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

 Даны по 10-балльной шкале оценки по информатике трех учеников. Напишите программу, выводящую множество оценок, которые есть и у первого, и у второго учеников, но которых нет у третьего ученика.

a = set(int(i) for i in input().split())
b = set(int(i) for i in input().split())
c = set(int(i) for i in input().split())

x = a & b - c

print(*sorted(x, reverse=True))

 Даны оценки по математике трёх учеников в 10-балльной шкале. Напишите программу, которая выводит такие оценки, которые встречаются не более, чем у двух учеников.

a = set(int(i) for i in input().split())
b = set(int(i) for i in input().split())
c = set(int(i) for i in input().split())

d = a | b | c
e = a & b & c
s = d - e

print(*sorted(s))

 Даны по 10-балльной шкале оценки по физике трех учеников. Напишите программу, которая выводит множество оценок третьего ученика, которые не встречаются ни у первого, ни у второго ученика.

a = set(int(i) for i in input().split())
b = set(int(i) for i in input().split())
c = set(int(i) for i in input().split())

d = a | b
s = c - d

print(*sorted(s, reverse=True))

 Даны по 10-балльной шкале оценки по биологии трех учеников. Напишите программу, которая выводит множество оценок, не встречающихся ни у одного из трех учеников.

a = set(int(i) for i in input().split())
b = set(int(i) for i in input().split())
c = set(int(i) for i in input().split())

d = a | b | c
r = set(range(11))

s = r - d

print(*sorted(s))