miymiy
@miymiy
котик который учиться лапками кодить

Как правильно форматировать строки из словаря?

изучение питона и по книге Лутца

задание:
e75d9bf262d046e89d31d9a5d2d4f546.png

исход:
04ab55909b4743878765eaa3f5c5f5e6.png

подскажите, пожалуйста
  • Вопрос задан
  • 250 просмотров
Решения вопроса 1
AnnTHony
@AnnTHony
Интроверт
reply = """
Greetings...
Hello %(name)s
Your age squared is %(age)s
"""
values = {'name': 'Bob', 'age': 40}
print(reply % values)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
@bIbI4k0
Питоню
У вас python3, а в книге используется второй.
В третьем питоне print - функция, а не языковая конструкция, значит писать надо print():
print("hello, %(name)s, you age squared is %(age)s" % {"name": "Bob", "age": 40})
Ответ написан
Комментировать
@e2-e4
values = {'name': 'Bob', 'age':40}
reply = ''
print (reply % values)
Ответ написан
Комментировать
EvilsInterrupt
@EvilsInterrupt
System programming, Reversing Engineering, C++
Настя Мяу: Правильный ответ Вам дал ув.тов. Александр !

Он сказал, что Вы используете Python 3, а автор книги использует Python 2.

Суть в том, что в 2-ке инструкция print это часть языка и является языковой конструкцией. А в 3-ке это не часть языка и не языковая конструкция, а функция. Синтаксис функций всегда был с круглыми скобками. Вам даже компилятор сказал, что у Вас какой-то беспредел с "parenthesis" в вызове 'print'.

P.S.:
В мире Python-разработчиков существует два лагеря "Любители 2-ки" и "Любители 3-ки". При этом есть множество кода написанных как с применением 2-ки, так и 3-ки. Есть также много систем, где извращенцы написали часть системы на 2-ке, а часть на 3-ке. Поэтому как будущему Python-программисту нужно уметь программировать и в том и в другом мире.
Ответ написан
Комментировать
@Spirkaa
Чуть-чуть пишу на python 3
Наглядная инструкция по применению % и .format():
https://pyformat.info/

reply = """
Greetings...
Hello {name}
Your age squared is {age}
"""
values = {"name": "Bob", "age": 40}
print(reply.format(**values))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы