擅长:python、mysql、java
<p>假设您使用的是python2.x:我认为更好的方法是将输入作为<code>raw_input</code>。那么你就知道这是一个字符串:</p>
<pre><code>r = raw_input("enter radius:") #raw_input always returns a string
</code></pre>
<p>python3.x相当于上述语句:</p>
^{pr2}$
<p>现在,从中构造一个float(或尝试):</p>
<pre><code>try:
radius = float(r)
except ValueError:
print "bad input"
</code></pre>
<p><em>关于python版本兼容性的进一步说明</p>
<p>你要知道这是什么意思!在</p>
<p><strong>关于在python2.x上使用</strong><code>input</code><strong>的警告</strong></p>
<p>作为补充说明,我建议的程序可以使您的程序免受各种攻击。想想如果一个用户输入以下内容,一天会有多糟糕:</p>
<pre><code>__import__('os').remove('some/important/file')
</code></pre>
<p>而不是一个数字提示!如果您在python2.x上使用<code>input</code>,或者显式地使用<code>eval</code>来执行前面的语句,那么您已经删除了<code>some/important/file</code>。哎呀。在</p>