Я только недавно начал кодирование и столкнулся с этой проблемой, которую я не могу решить. Это мой код:
name = input("What is your name? ")
quest = input("What is your quest? ")
color =input("What is your favorite color? ")
print ("Ah, so your name is %s, your quest is %s, ") \
("and your favorite color is %s." % (name, quest, color))
и это проблема:
line 6, in <module>
("and your favorite color is %s.") % (name, quest, color)
TypeError: 'NoneType' object is not callable
Удалите лишние парезы и сделайте что-нибудь вроде
print ("Ah, so your name is %s, your quest is %s, \
and your favorite color is %s." % (name, quest, color))
Проблема в том, что вы не используете оператор разделения линий правильно, поэтому вы обрабатываете результат печати, который является None
, как вызываемый.
Посмотрите на следующее:
print ("Ah, so your name is %s, your quest is %s, ")
Это напечатает:
Ah, so your name is %s, your quest is %s,
и вызов print
вернет None
, поэтому после вашего кода вы будете иметь:
None("and your favorite color is %s." % (name, quest, color))
который генерирует эту ошибку.
Вы можете решить эту проблему:
print ("Ah, so your name is %s, your quest is %s, "
"and your favorite color is %s." % (name, quest, color))
Я настоятельно рекомендую вам использовать f-строку, если вы используете Python 3. 6+:
name = input("What is your name? ")
quest = input("What is your quest? ")
color = input("What is your favorite color? ")
print(f"Ah, so your name is {name}, your quest is {quest}, and your favorite color is {color}")
Обратите внимание, что использование f-строк улучшает читаемость вашего кода.
Используйте .format()
или стандартную форматированную интерполяцию строк:
name = input("What is your name? ")
quest = input("What is your quest? ")
color =input("What is your favorite color? ")
print ("Ah, so your name is {}, your quest is {}, and your favorite color is {}"
.format(name, quest, color))
или же
print (f"Ah, so your name is {name}, your quest is {quest}, "\
"and your favorite color is {color}")
за:
What is your name? What is your quest? What is your favorite color? Ah, so your name is a, your quest is b, and your favorite color is c
Доку: