擅长:python、mysql、java
<p>问题是没有正确使用行分隔运算符,因此将print的结果<code>None</code>视为可调用的。你知道吗</p>
<p>请看以下内容:</p>
<pre><code>print ("Ah, so your name is %s, your quest is %s, ")
</code></pre>
<p>将打印:</p>
<pre><code>Ah, so your name is %s, your quest is %s,
</code></pre>
<p>并且调用<code>print</code>将返回<code>None</code>,因此您将拥有以下代码:</p>
<pre><code>None("and your favorite color is %s." % (name, quest, color))
</code></pre>
<p>产生了这个错误。你知道吗</p>
<p>您可以通过以下方法解决此问题:</p>
<pre><code>print ("Ah, so your name is %s, your quest is %s, "
"and your favorite color is %s." % (name, quest, color))
</code></pre>
<p>如果您使用的是python3.6+,我强烈建议您使用f-string:</p>
<pre><code>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}")
</code></pre>
<p>注意使用f字符串如何提高代码的可读性。你知道吗</p>