Python:检查负数

时间:2018-02-08 03:29:17

标签: python

我正在尝试向此字符串添加一段代码,以检查第一个位置的负数。如果代码识别出一个负数,它应该返回" False"。我在用户输入命令时遇到int和str的问题。对不起,是Python的新手。

def is_number(S):
    #if s < 0:
        #print("False")
    #else:   
        try:
            float(s)
            return True
        except ValueError:
            pass

        try:
            import unicodedata
            unicodedata.numeric(s)
            return True
        except (TypeError, ValueError):
            pass
        return False

s = input()

is_number(s)

2 个答案:

答案 0 :(得分:1)

这是你想要的吗?

def check_negative(s):
    try:
        f = float(s)
        if (f < 0):
            return True
        # Otherwise return false
        return False
    except ValueError:
        return False

不完全确定这是否是你想要的,也许你应该看到ᴡʜᴀᴄᴋᴀᴍᴀᴅᴏᴏᴅʟᴇ3000的回答

答案 1 :(得分:0)

is_number=lambda S: str(S)[0]=='-' and len(str(S))>1

试试这段代码。您可以使用此代码替换is_number函数。它是一个检查第一个字符是否为负号的函数,如果是,则返回true。否则,数字不能为负数,然后返回false。但是,如果只有-符号,那么它既不会也会返回false。它只使用一行而且更简单。它也适用于字符串和浮点数。