确保用户输入的内容不是Python 3中的字符串

时间:2018-09-03 10:54:12

标签: python

我尝试创建一个函数,该函数首先将检查输入是否不是字符串。 但是,如果用户输入浮点数,它将为False。 我需要它同时接受Int和Float,bot不是字符串。

def squat():
    value = input("What is your RM1?")

    if value.isnumeric():
        rm1 = float(value)
        print("Your RM1 is: ", rm1)
        print(type(value))

    else:
        print("Error")


squat()

2 个答案:

答案 0 :(得分:1)

在您的情况下,您可以使用try..except

def squat():
    value = input("What is your RM1?")
    try:
         rm1 = float(value)
    except ValueError:
         print("error")
         exit(1)

答案 1 :(得分:0)

input()函数始终返回 string 。您可以使用regex检查字符串是否看起来像数字:

import re

value = input('What is your RM1? ')
if re.match(r'^\d+(\.\d+)?$', value):
    rm1 = float(value)
    print('Your RM1 is: ', rm1)
else:
    print('Error')