1 # 判断输入的字符串是否为数字 2 x = input("请输入:") 3 # 是否有一个小数点 4 if x.count(".") == 1: 5 left, right = x.split(".") 6 # 小数点左右是否为纯数字 7 if left.isdigit() and right.isdigit(): 8 print("正小数") 9 # 小数点左侧是否由负号开头且只有一个负号,右侧是否为纯数字 10 elif left.startswith('-') and left.count('-') == 1 and right.isdigit(): 11 left_right = left.split('-')[-1] 12 # 小数点和负号的中间部分是否为纯数字 13 if left_right.isdigit(): 14 print("负小数") 15 else: 16 print("非数字") 17 # 是否没有小数点 18 elif x.count(".") == 0: 19 # 是否为纯数字 20 if x.isdigit(): 21 print("正整数") 22 # 是否为负号开头且只有一个负号 23 elif x.startswith("-") and x.count("-") == 1: 24 x_right = x.split("-")[-1] 25 # 负号的右侧部分是否为纯数字 26 if x_right.isdigit(): 27 print("负整数") 28 else: 29 print("非数字") 30 else: 31 print("非数字") 32 else: 33 print("非数字")