擅长:python、mysql、java
<p>这里的问题是,您试图将字符串格式应用于main函数中的非字符串操作。在</p>
<pre><code>print("So the numbers you have entered are {0}, {1},{2}.".format(nam,nom,num))
</code></pre>
<p>在上面一行中使用的大括号只用于单个<code>format</code>函数调用中的值的子项。当您调用<code>ans=({0}/{1}/{2})/1</code>时,实际上是在创建三个独立的<a href="https://docs.python.org/3/tutorial/datastructures.html#sets" rel="nofollow">sets</a>;这是一个不同的Python数据类型。你得到了这个错误,因为集合并不是像你的代码那样被分割的。在</p>
<p>正如Slayer的答案中提到的,最好的办法是返回“2”函数中的所有三个变量:</p>
^{pr2}$
<p>这样,您就可以在主函数中为它们分配其他变量。我强烈建议不要创建与函数同名的变量。这会让你产生一些令人困惑的行为。在</p>
<pre><code>nam, num, nom = two()
</code></pre>
<p>最后,可以修改实际创建异常的代码行。在</p>
<pre><code>ans = nam / num / nom
</code></pre>