Уведомления

Группа в Telegram: @pythonsu

#1 Март 31, 2020 13:05:19

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

Непонятки с print

Откуда взялся пробел перед 10 в первом выводе? Во втором варианте пробела нет и 10 выводится сначала строки. По моему разумению, в обоих случаях на экран должен выдаваться один и тот же результат: 10 сначала строки, без всяких пробелов.

 >>> 
>>> print('\n', 10)
 
 10
>>> print('\n', end = ''); print(10)
 
10
>>> 
Выполнено в Python 3.8.2 (Windows)
В консолях Spyder и PyCharm тоже самое.

ЗЫ. И здесь откуда-то взялся пробел перед первым >>> , а еще игнорируются пустые строки в блоке code …/code.

Отредактировано Sergey_Grebennikov (Март 31, 2020 13:47:23)

Офлайн

#2 Март 31, 2020 13:24:17

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Непонятки с print

Sergey_Grebennikov
Откуда взялся пробел перед 10 в первом выводе?
Вам подробный ответ на этот вопрос нужен, со всеми подробностями устройства форумного движка и конкретного компонента подсветки синтаксиса? То, что тулза лагает как бы и без вас все знают. Спасибо за замечание, тем не менее.



Офлайн

#3 Март 31, 2020 13:28:50

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

Непонятки с print

FishHook
Причем здесь форумный движок? Про движок я так, мимоходом.
Пробел перед 10 вставляется питоном. Попробуйте сами.

Офлайн

#4 Март 31, 2020 19:01:08

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Непонятки с print

 >>> print(10,20)
10 20
>>> print(10)
10
>>> print("",10)
 10
>>> 
это питон слишком заботливый, вставляет пробелы между выводимыми объектами чтобы не слиплись



Отредактировано doza_and (Март 31, 2020 19:01:40)

Офлайн

#5 Март 31, 2020 20:22:47

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

Непонятки с print

Sergey_Grebennikov
Откуда взялся пробел перед 10 в первом выводе?
Открой в питоне
  
help(print)
И там ты увидишь, что у print() есть параметр sep, который равен пробелу по умолчанию.

  
>>> print(1, 2, 3, sep=' | ')
1 | 2 | 3
>>>



Офлайн

#6 Март 31, 2020 23:02:31

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Непонятки с print

Sergey_Grebennikov
По моему разумению, в обоих случаях на экран должен выдаваться один и тот же результат: 10 сначала строки, без всяких пробелов.
скуяли, а вот это print('\n', 10) что по вашему? на кой ляд там ‘\n’? для красоты?
спойлер: ‘\n’ это перевод строки.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Март 31, 2020 23:04:10)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version