Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/88: Рейтинг темы: голосов - 88, средняя оценка - 4.85
 Аватар для BoyToy
3 / 3 / 0
Регистрация: 23.10.2018
Сообщений: 201

Найти общие цифры, входящие в запись двух чисел

23.10.2018, 08:10. Показов 18703. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Смотрите, я написал программу, но проблема в том , что в нем нет исключения:
Python
1
2
3
4
5
6
7
8
9
10
11
print('программа для нахождения общих цифр в записи')
a=int(input('введите первое число ')
b=int(input('введите второе число ')
while a>0:
    d=a%10
    a//=10
    c=b
    while c>0:
        if c%10==d:
            print('Общая цифра ', d)
        c//=10
ввожу 123 и 521 , выводит 1 и 2
а когда ввожу , например, 123 и 987, то ничего не выводит, это надо исправить(чтобы выводило что-то типа 'Нет общих цифр')
_ это пробел, для удобства сделал так
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.10.2018, 08:10
Ответы с готовыми решениями:

Задача с использованием множества: указать одинаковые цифры, входящие в запись двух за-данных натуральных чисел
Решить задачу с использованием множества: указать одинаковые цифры, входящие в запись двух за-данных натуральных чисел.

Задача с использованием множества: указать одинаковые цифры, входящие в запись двух заданных натуральных чисел
Решить задачу с использованием множества: указать одинаковые цифры, входящие в запись двух за-данных натуральных чисел.

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

15
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
23.10.2018, 08:21
Для оформления кода используйте кнопки

Цитата Сообщение от Наби Кобан Посмотреть сообщение
а когда ввожу , например, 123 и 987, то ничего не выводит
Можно так исправить
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
a=int(input('введите первое число '))
b=int(input('введите второе число '))
not_eq = True
while a>0:
    d=a%10
    a//=10
    c=b
    while c>0:
        if c%10==d:
            print('Общая цифра ', d)
            not_eq = False
        c//=10
 
if not_eq:
    print('Нет общих цифр')
но в программе все равно ошибка, если одинаковых цифр больше 1, то выводит их по два раза
Миниатюры
Найти общие цифры, входящие в запись двух чисел  
0
 Аватар для BoyToy
3 / 3 / 0
Регистрация: 23.10.2018
Сообщений: 201
23.10.2018, 08:25  [ТС]
Блин, тогда как правильно?
0
29 / 21 / 8
Регистрация: 23.10.2018
Сообщений: 51
Записей в блоге: 3
23.10.2018, 13:52
Лучший ответ Сообщение было отмечено Наби Кобан как решение

Решение

Если знаешь что вводишь только цифры, то можно обойтись только работой со строками.

Python
1
2
3
4
5
6
print('программа для нахождения общих цифр в записи')
a = input('введите первое число ')
b = input('введите второе число ')
for i in a:
    if i in b:
        print(i)
или

Python
1
2
3
4
5
print('программа для нахождения общих цифр в записи')
a = input('введите первое число ')
b = input('введите второе число ')
ab = [c for c in a if i in b]
print(ab)
ну а дальше с видом вывода крути как хочешь

Добавлено через 2 часа 1 минуту
Сорри,правильно будет так
Python
1
2
3
4
5
6
7
8
print('программа для нахождения общих цифр в записи')
a = input('введите первое число ')
b = input('введите второе число ')
c = []
for i in a:
    if i in b and i not in c:
        print('Общая цифра: ', i)
        c.append(i)
1
 Аватар для BoyToy
3 / 3 / 0
Регистрация: 23.10.2018
Сообщений: 201
30.10.2018, 10:27  [ТС]
Программа хорошая, но преподу все равно все не нравится. Ввел число 23223 и 432 , ответ 2 и 3, но по его мнению, должно быть еще и 32...
0
29 / 21 / 8
Регистрация: 23.10.2018
Сообщений: 51
Записей в блоге: 3
30.10.2018, 11:33
Тогда вопрос в постановке задачи, так как требуется найти общие ЦИФРЫ, то как 2 и 3 не крути, цифры одни и те же ))). Пусть тогда препод пояснит как должен выглядеть полный формат вывода.
0
 Аватар для BoyToy
3 / 3 / 0
Регистрация: 23.10.2018
Сообщений: 201
30.10.2018, 11:37  [ТС]
ну вот и я о том же, если были бы ЧИСЛА, то нет проблем
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
30.10.2018, 11:42
Python
1
2
3
4
5
6
7
8
9
#!/usr/bin/python3
 
try:
    a = set(n for n in map(int, input('First number: ')))
    b = set(n for n in map(int, input('Second number: ')))
    c = a & b
    print(c if c else 'No same digits')
except:
    print('Wrong input!')
1
29 / 21 / 8
Регистрация: 23.10.2018
Сообщений: 51
Записей в блоге: 3
31.10.2018, 10:18
Так всё-таки как должен выглядеть правильный ответ, например, для пары чисел 123 и 521, 23223 и 432?
0
 Аватар для BoyToy
3 / 3 / 0
Регистрация: 23.10.2018
Сообщений: 201
31.10.2018, 10:30  [ТС]
123 и 512:
1 , 2;
23223 и 432
2 , 3 , 32
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
31.10.2018, 10:59
Лучший ответ Сообщение было отмечено Наби Кобан как решение

Решение

Цитата Сообщение от Наби Кобан Посмотреть сообщение
123 и 512:
а как же 12?

Python
1
2
3
4
5
6
7
8
9
10
11
12
num1 = input()
num2 = input()
 
lst = []
 
for i in range(len(num1)):
    for j in range(i+1, len(num1)+1):
        if num1[i:j] in num2:
            if num1[i:j] not in lst:
                lst.append(num1[i:j])
 
print(lst) if lst else print ('Нет общих цифрочисел (т.к. препод не различает числа и цифры, ps: удали это)')
0
 Аватар для BoyToy
3 / 3 / 0
Регистрация: 23.10.2018
Сообщений: 201
31.10.2018, 11:03  [ТС]
ой, не заметил. да, 12 тоже
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
31.10.2018, 11:09
Забыл суть указать: пройти по всем возможным комбинациям первого числа и проверить принадлежность второму числу. Например для числа 123 все комбинации это: 1 12 123 2 23 3.
0
29 / 21 / 8
Регистрация: 23.10.2018
Сообщений: 51
Записей в блоге: 3
02.11.2018, 14:21
Тогда получается как-то так

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
a = input('Введите первое число: ')
b = input('Введите второе число: ')
s = []
c = []
for i in range(len(a)):
    for k in range(i, len(a)+1):
        if k-i <= len(b) and k != i:
            s.append(a[i:k])
for j in s:
    if j in b and j not in c:
        print('Общие цифры: ', j)
        c.append(j)
if not c:
    print('Нет общих цифр.')
0
119 / 103 / 53
Регистрация: 13.04.2014
Сообщений: 233
02.11.2018, 17:45
Моё хобби? Пихать как можно больше инструкций в одну строчку!
Python
1
2
3
4
a = input('a = ')
b = input('b = ')
s = {a[j:j + i + 1] for i in range(len(a)) for j in range(0, len(a) - i) if a[j:j + i + 1] in b}
print(', '.join(s) if s else 'Нет общих цифр')
Добавлено через 4 минуты
Последняя строчка, если нужен упорядоченный вывод:
Python
1
print(', '.join(sorted(s, key=int)) if s else 'Нет общих цифр')
0
 Аватар для BoyToy
3 / 3 / 0
Регистрация: 23.10.2018
Сообщений: 201
06.11.2018, 07:00  [ТС]
Господи, какой же он м*дак, сейчас начал говорить обратное... и спрашивает, почему в цифрах 2323 и 3232 одна общая цифра 2 и 3
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.11.2018, 07:00
Помогаю со студенческими работами здесь

Определить и вывести общие цифры двух чисел
нужно определить и вывести общие цифры двух чисел

Определить и вывести общие цифры двух чисел
определить и вывести общие числа двух цифр в pascal. например, вводим числа 4631 и 231 ,должен вывести общие цифры 3 и 1.

Найти цифры, не входящие в десятичную запись числа N
Дано натурально число N. Найти цифры, не входящие в десятичную запись числа N. Program Lab2; uses crt; var n:integer; begin ...

Для двух натуральных чисел вывести все общие делители, найти НОД и НОК этих чисел
Написать программу, которая для двух натуральных чисел: выводит все общие делители, находит НОД и НОК этих чисел

Найти все общие делители двух чисел
Дано два натуральных числа a и b. Найти все их общие делители. input 12 9 output 1 3 есть ограничение в 200ms. В первой строке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru