Форум сайта python.su
В книге Дмитрия Златопольского есть задача :
Дано число 923 451. Получить на экране:
23451
3451
451
51
1
0
Инструкции print() , выводящие на экран конкретные числа и цифры ( print(3451) , print(1) и т. п.), не использовать.
Из инструментов : математические действия, условные операторы и циклы.
не пойму как она делается, может кто поможет?
Отредактировано aip3 (Ноя. 3, 2021 23:04:08)
Офлайн
>>> n = 923451 >>> >>> if n: ... n_len = 0 ... else: ... n_len = 1 ... >>> n_tmp = n >>> while n_tmp: ... n_tmp //= 10 ... n_len += 1 ... >>> i = 0 >>> while i < n_len: ... print(n % 10 ** (n_len - i - 1)) ... i += 1 ... 23451 3451 451 51 1 0 >>>
Офлайн
Блин, прям магия настоящая.
но все так просто оказалось.
Спасибо.
Офлайн