首页 > 解决方案 > 为什么 str 语句不能在 if....else 中使用

问题描述

在程序中,我需要输入整数和字符串。所以,我认为str可以输入整数和英文字母,但如果我使用str并输入12 它也会显示Unknown [{x}]!

def main():
    x=str(input("This is input "))
    if x==1:  
        print("this x1") 
        
    elif x==2:
        print("this is x2")  

    else:
        print(f"Unknown [{x}]!\n") #display user wrong input

main()

标签: python

解决方案


尝试这个:

def main():

   x = str(input("This is input "))
   if x== '1':  
       print("this x1") 
    
   elif x== '2':
       print("this is x2")  
    

   else:
       print("Unknown [{x}]!\n\n") #display user wrong input
       main()
main()

因为它,一个 str 在比较时需要有单引号或双引号。


推荐阅读