我正在尝试向此字符串添加一段代码,以检查第一个位置的负数。如果代码识别出一个负数,它应该返回" 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)
答案 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。它只使用一行而且更简单。它也适用于字符串和浮点数。