Python 程序可以';不读取整数值
以下代码用于检查变量并输出(打印)值。在Anaconda3.6上运行时,我得到的唯一输出是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:
一个值是字符串,尽管变量类型是(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修复这些东西。感谢_故事讲述者的贡献。但请注意,该程序的设计目的不是输出与输入有关的语句,无论是整数还是字符串。如果我按你说的方式投,它就会犯错误。