首页 > 解决方案 > 如何创建一个 if 语句来检查输入是否为 str/int

问题描述

基本上我是 python 编程的新手,我刚刚了解了用户输入。我试图制作一个 if 语句来检查输入是 str 还是 int,然后打印一条消息。如果有人知道如何,请评论它,谢谢。

print("How old are you?")
dog = input()
final = int(dog) + int(100)

if dog == str:
    print("No")
else:
    print("\nHeres you name + 100!")
    print(f"{final}")
    print("Thanks for playing!")

顺便说一句,我放的 if 语句不起作用,我不知道是否需要放一个异常,所以它响应时没有错误消息。

标签: pythonstringif-statementinputinteger

解决方案


重新检查类型,你可以这样做:

my_string = "hello"
if isinstance(my_string, str):
    print("I'm a string")
else:
    print("I'm not")

# outputs: "I'm a string"

但是,正如所评论的,输入法始终返回 str 类型的值。所以如果要保证值只由数字字符组成,可以使用字符串方法isdigit()

my_string = "asd"
my_string.isdigit() # returns False
my_string = "123"
my_string.isdigit() # returns True

推荐阅读