Python 程序可以';不读取整数值

Python 程序可以';不读取整数值,python,string,variables,types,int,Python,String,Variables,Types,Int,以下代码用于检查变量并输出(打印)值。在Anaconda3.6上运行时,我得到的唯一输出是一个值是字符串,尽管变量类型是(int,float或str)。然而,它在Programiz.com上的DataCamp平台上运行得非常好。请问我哪里出错了。代码如下: essa1 = input("please enter essa1") essa2 = input("please enter essa2") if type(essa1) == str and type(essa2) != str:

以下代码用于检查变量并输出(打印)值。在Anaconda3.6上运行时,我得到的唯一输出是
一个值是字符串,尽管变量类型是(
int
float
str
)。然而,它在Programiz.com上的DataCamp平台上运行得非常好。请问我哪里出错了。代码如下:

essa1 = input("please enter essa1")
essa2 = input("please enter essa2")
if type(essa1) == str and  type(essa2) != str:
    print("One value is a string")
elif type(essa1) == int and type(essa2) == int:
    if essa1 == essa2:
        print("the two variables are equal")
    elif essa1 < essa2:
        print("essa1 is bigger")
    else:
        print("essa1 is now smaller")
else:
    print("One value is a string")
essa1=输入(“请输入essa1”)
essa2=输入(“请输入essa2”)
如果类型(essa1)=str和类型(essa2)!=str:
打印(“一个值是一个字符串”)
elif类型(essa1)=int和类型(essa2)==int:
如果essa1==essa2:
打印(“两个变量相等”)
elif essa1
这是因为
input()
始终被读取为
str

如果读取值
42
,则实际上是读取类型
str
的值
“42”
。只有将其强制转换为
int
float
等时,值的类型才会改变

i = input('enter an int') # type 42 and press enter
# i now contains the string value "42"
i = int(i) # cast value to type int
# i now contains the int value 42

如果要在尝试强制转换之前检查字符串值是否包含int,可以尝试
i.isdigit()
,如果字符串仅包含数字,则返回true。

Python中没有
double
,这是一个
float
好主意。更新。很抱歉,伙计们延迟了回复,因为他们正在尝试Sears修复这些东西。感谢_故事讲述者的贡献。但请注意,该程序的设计目的不是输出与输入有关的语句,无论是整数还是字符串。如果我按你说的方式投,它就会犯错误。