Задача Два альбома

railaxmetov

Новичок
Пользователь
Сен 28, 2020
6
0
1
У вас есть два альбома, в одном n почтовых марок, а в другом - m почтовых марок. В каждом альбоме все марки разные, но среди них есть такие, которые встречаются в обоих альбомах. У каждой марки есть свой номер от 1 до 10 в 9 степени, при этом у одинаковых марок одинаковые номера, а у разных марок - разные номера.
Нужно определить количество, а также номера, которые есть и в первом и во втором альбомах


n = [range(1, m)]
m = [range(n, 10 ** 4)]
k = [x for x in n if x in m]
print(k)
 
Последнее редактирование:

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 609
466
83
сами пробовали что то делать?
 

railaxmetov

Новичок
Пользователь
Сен 28, 2020
6
0
1
сами пробовали что то делать?
Да...
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 609
466
83
скиньте свои варианты, подскажут, писать за вас никто не будет
 

lynulx

Модератор
Команда форума
Модератор
Авг 9, 2020
139
19
18
У вас есть два альбома, в одном n почтовых марок, а в другом - m почтовых марок. В каждом альбоме все марки разные, но среди них есть такие, которые встречаются в обоих альбомах. У каждой марки есть свой номер от 1 до 10 в 9 степени, при этом у одинаковых марок одинаковые номера, а у разных марок - разные номера.
Нужно определить количество, а также номера, которые есть и в первом и во втором альбомах
подсказка: set-ы
 

railaxmetov

Новичок
Пользователь
Сен 28, 2020
6
0
1
думаю это не очень поможет?
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Как вам уже подсказали, задачу можно решить с помощью пересечения сетов.
Вот пример:
Python:
import random

m = []  # первый альбом
n = []  # второй альбом

# заполнение альбомов номерами марок
for i in range(10):
    x = random.choice([0, 1, 2])
    num = random.randint(1, 10**9)  # случайный номер
    if x == 0:
        n.append(num)
    elif x == 1:
        m.append(num)
    elif x == 2:
        n.append(num)
        m.append(num)

print(n)  # первый альбом
print(m)  # второй альбом
intersection = set(n).intersection(set(m))
print(intersection, len(intersection))  # номера совпадающих марок и их количество
 
  • Мне нравится
Реакции: railaxmetov

Форум IT Специалистов