首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >区分"String“和"Integer”

区分"String“和"Integer”
EN

Stack Overflow用户
提问于 2020-04-21 03:20:45
回答 3查看 57关注 0票数 0

我是python新手,正在使用Atom文本编辑器/IDE。我正在写一个简单的代码,这是从用户的输入,并告诉它是整数或not.Here是代码。

代码语言:javascript
复制
def check(string):
    if type(string) == int:
        return "Integer"
    else:
        return "String"

string=input()
print (check(string))

无论输入的是10还是hello,此函数都会返回"String“。请帮助,什么改变代码需要,以便它可以区分整数和字符串。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-04-21 03:29:26

下面是一个使用isnumeric的解决方案

代码语言:javascript
复制
def check(string):
    if string.isnumeric():
        return "Integer"
    else:
        return "String"

string=input()
print (check(string))
票数 0
EN

Stack Overflow用户

发布于 2020-04-21 03:23:42

强制转换它,如果失败,它就是一个非整数

代码语言:javascript
复制
def check(string):
    try:
        int(string)
        return 'Integer'
    except ValueError:
        return 'String'

string=input('Enter anything: ')

print(string, 'is', check(string))

如果你更喜欢LBYL:

代码语言:javascript
复制
def check(string):
    if string.isnumeric() or (string and string[0] in ['-', '+'] and string[1:].isnumeric()):
        return 'Integer'
    else:
        return 'String'
票数 1
EN

Stack Overflow用户

发布于 2020-04-21 03:22:57

试试这个:

代码语言:javascript
复制
def check(inp):
    if isinstance(inp , int) :
        return "Integer"
    elif isinstance(inp , str) :
        return "String"
    else:
        return "Other"

您应该尝试使用isinstance()进行运行时类型检查。无论如何,input()总是返回字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61330352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档