Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 3, 2021 22:50:45

aip3
Зарегистрирован: 2021-11-03
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Цикл while и типап сдвиг числа в лево

В книге Дмитрия Златопольского есть задача :
Дано число 923 451. Получить на экране:
23451
3451
451
51
1
0
Инструкции print() , выводящие на экран конкретные числа и цифры ( print(3451) , print(1) и т. п.), не использовать.
Из инструментов : математические действия, условные операторы и циклы.
не пойму как она делается, может кто поможет?

Отредактировано aip3 (Ноя. 3, 2021 23:04:08)

Офлайн

#2 Ноя. 4, 2021 00:47:28

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9873
Репутация: +  853  -
Профиль   Отправить e-mail  

Цикл while и типап сдвиг числа в лево

  
>>> 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
>>>



Офлайн

#3 Ноя. 4, 2021 10:11:33

aip3
Зарегистрирован: 2021-11-03
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Цикл while и типап сдвиг числа в лево

Блин, прям магия настоящая.
но все так просто оказалось.
Спасибо.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version