Форум сайта python.su
Добрый вечер, помогите, пожалуйста, с заданием
В диапазоне чисел от 10 до 100 вычеркнуть числа, у которых есть зеркальные “двойники”, а то что останется сохранить в отдельный файл.
Принцип, по которому вычеркиваются числа:
берется число, переворачивается (преобразовывается в палиндром) и этот “двойник” вычеркивается
Например,
берем число 12 = 21, значит 21 вычеркиваем
13 = 31; 31
…
45 = 54; 54 вычеркиваем и т.д.
Числа 11,22,33…99 тоже вычеркиваются.
Офлайн
Чосло в строку. Читаем строку от конечного символа к первому в новую строку. Эту строку в число. Ищем это число и вычеркиваем.
Офлайн
Это кто такое гениальное задание придумал? Очевидно, что останутся только круглые числа.
Офлайн
В том то и дело, что вычеркиваются не пары, а лишь зеркальное отображение.
Как-то так
Прикреплённый файлы: photofacefun_com_1552809593 - копия.jpg (40,5 KБ)
Офлайн
Последовательность очевидная, работа со строками тут не нужна. Решается в один проход.
X = I // 10
If I - X * 10 > X - хорошее число
Офлайн
FishHook, большое спасибо, что откликнулись.
Получается, в полном виде программа будет выглядеть как-то так?
for i in range (10, 100+1): x = i // 10 if i - x * 10 > x: print (i) elif i - x * 10 == 0: print (i)
Отредактировано prb (Март 17, 2019 11:18:32)
Офлайн
Видимо да, у меня сейчас нет возможности запустить этот код
Офлайн
Хм, а какие буду условия для произвольных интервалов чисел?
Например, от 10 до 1000 или от 1000 до 10000 и т.д.?
Отредактировано prb (Март 17, 2019 12:52:22)
Офлайн