擅长:python、mysql、java
<pre><code>if numberchk==int:
</code></pre>
<p>这将检查<code>numberchk</code>是否等于<code>int</code><strong>类型</strong>。它将<em>不</em>检查<code>numberchk</code>是否为整数(您可能希望这样做)。检查其类型的正确方法如下:</p>
<pre><code>if isinstance(numberchk, int):
</code></pre>
<p>然而,这也没有道理。获取<code>numberchk</code>的方法是对字符串调用<code>int()</code>:</p>
<pre><code>numberchk=int(input(…))
</code></pre>
<p>因此<code>numberchk</code>将<em>始终</em>为int。但是,对不是数字的字符串调用<code>int()</code>可能会失败,因此您可能希望捕获该错误以确定输入是否为数字:</p>
<pre><code>try:
numberchk = int(input("Enter a Roman numeral or a Decimal numeral:"))
except ValueError:
print('Entered value was not a number')
</code></pre>
<p>但这也会有问题,因为至少从您打印的消息来看,您还希望接受罗马数字,而罗马数字不能通过<code>int</code>转换为整数。因此,您还应该编写一个函数,它接受一个罗马数字并将其转换为int</p>