繁体   English   中英

区分“字符串”和“整数”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM