0
def gen_nums(user_num_1, user_num_2):
  user_num_1 = list(str(user_num_1))
  user_num_2 = list(str(user_num_2))
  gen_nums = []
  for num_1 in user_num_1:
    for num_2 in user_num_2:
      if num_1 == num_2:
        gen_nums.append(num_1)

  return gen_nums


user_num_1 = 666
user_num_2 = 666
print(gen_nums(user_num_1, user_num_2))

# Вывод: ['6', '6', '6', '6', '6', '6', '6', '6', '6']

Как написать код, чтобы он выводил повторяющуюся цифру один раз?

3 Answers3

0

Самый простой способ убрать из списка дубликаты - преобразовать его в множество и затем обратно в список:

Пример:

name_variable = ['2', '2', '2', 6, 6, 6]
print(list(set(name_variable)))

Вывод: ['2', 6]

Или:

name_variable = ['2', '2', '2', 6, 6, 6]
name_variable2 = list(set(name_variable))
print(name_variable2)

Вывод: ['2', 6]

Можно также пройтись циклом for и внутри задать условие не повторения, но это менее удобный вариант.

mrBars1k
  • 1,153
0

Формулировка вашего вопроса не совсем ясная, но как его понял я:

Сначала выберем все цифры из первого числа:

for num_1 in user_num_1:
  gen_nums.append(num_1)

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

for num_2 in user_num_2:
  if num_2 not in user_num_1:
    gen_nums.append(num_2)
MarianD
  • 17,120
0

tio.run

a = 666
b = 666
print(", ".join(set(str(a)).intersection(set(str(b)))))
6
Qwertiy
  • 123,725