Learn Python The Hard Way / Трудный Путь Изучения Python: Exercise 8: Printing, Printing

Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Урок 8. Печать, печать

Kanta 05.11.13 в 16:57

0

formatter = "%r %r %r %r"
print formatter % (1, 2, 3, 4)
print formatter % ("one", "two", "three", "four")
print formatter % (True, False, False, True)
print formatter % (formatter, formatter, formatter, formatter)
print formatter % (
"I had this thing.",
"That you could type up right.",
"But it didn't sing.",
"So I said goodnight."
)

Kanta 05.11.13 в 16:57

0

Что вы должны увидеть
$ python ex8.py
1 2 3 4
'one' 'two' 'three' 'four'
True False False True
'%r %r %r %r' '%r %r %r %r' '%r %r %r %r' '%r %r %r %r'
'I had this thing.' 'That you could type up right.' "But it didn't sing." 'So I said goodnight.

Kanta 05.11.13 в 16:57

0

Упражнения:

Kanta 05.11.13 в 16:57

0

Проверьте Вашу работу, выпишите ошибки и постарайтесь не совершать их в будущем.
Обратите внимание, что в последней строке используются как одинарные, так и двойные кавычки, для разных частей строки. Как Вы думаете почему?

t0pep0 13.11.13 в 10:38

0

Общие вопросы студентов

t0pep0 13.11.13 в 10:38

0

Что я должен использовать %s или %r для форматирования?
Вы должны использовать %s. Использование %r имеет смысл только для получения отладочной информации, так-как %r даст вам "сырое" представление переменной.

t0pep0 13.11.13 в 10:41

0

Почему я должен использовать кавычки вокруг "one", но не должен их использовать вокруг True или False?
True и False являются ключевыми словами для Python. Если Вы заключите их в кавычки, то они будут представлены как строки и не будут работать верно. Подробнее об этом можно узнать в упражнении 27

t0pep0 13.11.13 в 10:44

0

Я пытаюсь использовать Китайские (или любые другие не ASCII символы) в строке, но %r выводит странные символы.
Используйте %s для вывода данной строки и все заработает.

t0pep0 13.11.13 в 10:46

0

Почему %r иногда выводит строки в одинарных кавычках, если я их писал в двойных?
Python выводит строки наиболее эффективным способом, но не всегда так, как они записаны. И это прекрасно, так как %r используют для получения отладочной информации и это не должно быть красиво.

t0pep0 13.11.13 в 10:48

0

Почему в Python 3 не все работает?
Не используйте Python 3. Используйте Python 2.7 или выше, однако, в Python 2.6 возможно все будет работать.

t0pep0 13.11.13 в 10:50

0

Могу я использовать IDLE для работы?
Нет, сейчас этого делать не стоит, привыкайте работать в командной строке, она занимает важное место в обучении программированию. IDLE не ускользнет от нашего внимания в будущем.

t0pep0 13.11.13 в 10:53

0
Минутку...