擅长:python、mysql、java
<p>输入是一个<code>int</code>,它是一个不可变的对象。换句话说,你不能在任何地方改变它。但是,可以将其指定给其他对象。python的一个棘手的问题是要知道<em>所有的</em>都只是一个引用。当你给某个东西赋值时,你只需改变引用。把你的变量看作是放进盒子里的字符串。当你给一个变量赋值时,你把这个字符串放在一个特定的框中。当您将该变量分配给其他对象时,您将更改字符串所指向的框。当然,当您实际进行加法时,您添加的是框的内容,而不是字符串(这有点令人困惑)。如果你习惯用C语言编程,就好像所有的东西都是一个指针,它会自动地被取消引用(除了你做赋值的时候)。在</p>
<p>那么,该怎么办?最简单的方法是<code>return</code>函数中的值。在</p>
<pre><code>def some_func(inpt):
if inpt == 1:
return "True"
elif inpt == 0:
return "False"
else:
raise ValueError("WHAT IS THIS GARBAGE? I SAID 0 OR 1!!!!") # ;^)
</code></pre>
<p>现在可以将函数调用为:</p>
^{pr2}$
<p>作为补充说明,您的函数可以浓缩为:</p>
<pre><code>def some_func(inpt):
return str(bool(inpt))
</code></pre>
<p>或者</p>
<pre><code>def some_func(inpt):
return "True" if inpt else "False"
</code></pre>
<p>这两个过程都通过(如果用户输入任何非0的整数,则返回<code>"True"</code>)。如果你真的想强迫用户不要输入类似“2”的内容,你可以:</p>
<pre><code>def some_func(inpt):
return {1:"True",0:"False"}[inpt]
</code></pre>
<p>但我不推荐那个。。。在</p>