我一直在编写代码,其中一部分给我带来了很多麻烦。就是这个。
import math
number=raw_input("Enter the number you wish to find its square root: ")
word=number
if type(word)==type(int):
print sqrt(word)
在 IDLE 中,每当我输入一个数字时,都不会打印任何内容。我在编辑器中检查了语法错误和缩进,并修复了所有这些错误。
我一直在编写代码,其中一部分给我带来了很多麻烦。就是这个。
import math
number=raw_input("Enter the number you wish to find its square root: ")
word=number
if type(word)==type(int):
print sqrt(word)
在 IDLE 中,每当我输入一个数字时,都不会打印任何内容。我在编辑器中检查了语法错误和缩进,并修复了所有这些错误。
您正在寻找isinstance()
:
if isinstance(word, int):
但这不起作用,因为raw_input()
返回一个字符串。您可能需要异常处理:
try:
word = int(word)
except ValueError:
print 'not a number!'
else:
print sqrt(word)
对于您的特定错误,type(word) is int
可能也可以,但这不是很pythonic。type(int)
返回类型的int
类型,即<type 'type'>
:
>>> type(42)
<type 'int'>
>>> type(42) is int
True
>>> type(int)
<type 'type'>
>>> type(int) is type
True
raw_input 返回一个字符串。您需要将输入转换为数字
in_string = raw_input("...")
try:
number = float(in_string)
print math.sqrt(number)
except ValueError as e:
print "Sorry, {} is not a number".format(in_string)