[英]How do I differentiate between a string and a negative integer in python
[英]Differentiate between “String” and “Integer”
我是 python 和使用 Atom 文本编辑器/IDE 的新手。 我正在编写一个简单的代码,它接受用户的输入并判断它是否是 Integer。这是代码。
def check(string):
if type(string) == int:
return "Integer"
else:
return "String"
string=input()
print (check(string))
无论键入什么,例如 10 或 hello,此函数都会返回“字符串”。 请帮忙,代码需要什么更改,所以它可以区分 Integer 和字符串。
铸造它,如果它失败,它是一个非 integer
def check(string):
try:
int(string)
return 'Integer'
except ValueError:
return 'String'
string=input('Enter anything: ')
print(string, 'is', check(string))
如果您更像是 LBYL 人:
def check(string):
if string.isnumeric() or (string and string[0] in ['-', '+'] and string[1:].isnumeric()):
return 'Integer'
else:
return 'String'
尝试这个:
def check(inp):
if isinstance(inp , int) :
return "Integer"
elif isinstance(inp , str) :
return "String"
else:
return "Other"
您应该尝试使用isinstance()
进行运行时类型检查。 无论如何input()
总是返回字符串。
这是使用 isnumeric 的解决方案
def check(string):
if string.isnumeric():
return "Integer"
else:
return "String"
string=input()
print (check(string))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.