Множества Python

Нужно записать множества A, B и C

а) A | B

б) B & C

в) (A | B) & C

г) A & B & C

д) С ^ B

е) А \ B

ж) Записать декартово произведение множеств А и В

з) Определить мощность множеств множества, полученного в каждом задании

Я это уже сделал, но сейчас туплю на другом

Как можно записать множество простых двузначных чисел

И как можно записать множество двузначных чисел, сумма цифр которых равна 8

Мой код:

a = {x for x in range(10, 100) if x % 2 > 0} ??
b = {x for x in range(10, 100) if x == 8} ??
c = {x for x in range(10, 100) if 10 <= x <= 51}
print("A =", a)
print("B =", b)
print("C =", c)
print("а)", a | b, f"Мощность = {len(a | b)}")
print("б)", b & c, f"Мощность = {len(b & c)}")
print("в)", (a | b) & c, f"Мощность = {len((a | b) & c)}")
print("г)", a & b & c, f"Мощность = {len(a & b & c)}")
print("д)", c ^ b, f"Мощность = {len(c ^ b)}")
print("е)", a - b, f"Мощность = {len(a - b)}")
k = []
a1 = list(a)
b1 = list(b)
print(a1, b1)
for x in a1:
    for y in b1:
        k.append((x, y))
print(f" A и B = {set(k)} Мощность = {len(k)}")

Ответы (1 шт):

Автор решения: D.Vinogradov

Как можно записать множество простых двузначных чисел (c):

a = {i for i in range(10, 100) if all(i % j != 0 for j in range(2, int(i ** 0.5) + 1))}

print(a)

>>> {11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97}

как можно записать множество двузначных чисел, сумма цифр которых равна 8 (c):

b = {i for i in range(10, 100) if sum(map(int, str(i))) == 8}

print(b)
>>> {35, 71, 44, 80, 17, 53, 26, 62}

p.s. если мы не берем в расчет числа 89 и 98, которые в свою очередь дают в сумме 17, которое в свою очередь дает 8.

→ Ссылка