擅长:python、mysql、java
<p>下面是一些基本上与您的代码相同的代码:</p>
<pre><code>name = "Tom"
user_input = input("My name is", name, "- what's yours?")
</code></pre>
<p>输出:</p>
<pre><code>TypeError: input expected at most 1 arguments, got 3
</code></pre>
<p>如果我改用<code>print</code>,一切都会按照您期望的方式工作:</p>
<pre><code>name = "Tom"
print("My name is", name, "- what's yours?")
</code></pre>
<p>输出:</p>
<pre><code>My name is Tom - what's yours?
</code></pre>
<p>我猜这就是混乱的根源。<code>print</code>接受任意多的参数-我给它三个单独的字符串-首先是<code>"My name is"</code>,然后是变量<code>name</code>(也是一个字符串),最后是第三个字符串<code>"- what's yours?"</code>。你知道吗</p>
<p><code>input</code>是不同的。它完全接受0或1个参数。如果你试图给它一个大于1的值,它将产生一个<code>TypeError</code>。你知道吗</p>
<p>所以,您需要使用字符串格式来解决这个特殊的问题。其思想是生成一个字符串并将其作为参数传递给<code>input</code>函数:</p>
<pre><code>name = "Tom"
user_input = input(f"My name is {name} - what's yours?")
</code></pre>