如何解释Python中的负值?

2024-09-30 01:23:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我想看看一个字符串(必须是一个字符串)是否是一个数字。在

到目前为止,我使用的是isdigit(),但显然{}并不能解释负数。在

如果我做了isdigit(a)和{}我得到了错误。在

如果我做了isdigit(a)和{}我就得到了真实。在

到目前为止

def rotationKeyValidated(rotationKeyStr):
    if rotationKeyStr.startswith('-') and rotationKeyStr[1:].isdigit():
        int(rotationKeyStr)
    return rotationKeyStr.isdigit()

我想看看它是不是以负号开头,剩下的是个数字。。我不知道,因为我不想使用多个return语句。在


Tags: and字符串returnifdef错误数字语句
1条回答
网友
1楼 · 发布于 2024-09-30 01:23:31

可以使用^{} block并尝试将字符串转换为整数:

def rotationKeyValidated(rotationKeyStr):
    try:
        int(rotationKeyStr)
    except ValueError:
        return False
    return True

这种编码风格包含了Python的EAFP principle,是大多数Python程序员的首选。它还相当健壮,可以处理任何可以转换为int的字符串。在


由于赋值只需要一个return语句,所以可以添加一个else:块和一个标志:

^{pr2}$

只有在try:块执行时没有引发错误,else:块才会执行。在


好吧,既然你必须使用str.isdigit,那么你可以一直这样做:

def rotationKeyValidated(rotationKeyStr):
    if rotationKeyStr.startswith('-'):
        rotationKeyStr = rotationKeyStr[1:]
    return rotationKeyStr.isdigit()

if语句检查字符串是否以-开头并删除该字符。之后,我们可以安全地返回str.isdigit的结果。在

相关问题 更多 >

    热门问题