python中的简单bot,我想我得到了'or'操作符,还有一些其他东西搞砸了

2024-06-02 06:01:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个简单的veery简单机器人。但是一切都搞砸了,请帮忙


inp = input('')
if inp == ('Hello' or 'hello' or 'hi' or 'Hi'):
    inp1 = input('Hello, How are you? \n')
else:
    sys.exit('hmmm')

if inp1 == "I'm Fine" or "i'm fine" or "i'm Fine" or "I'm fine" or "fine" or "Fine":
    input("Cool, Wassup? \n")
elif inp1 == "not fine" or "Not Fine" or "not Fine" or "Not fine":
    inp3 = input("Why?\n")
else:
    sys.exit("hmmm")
if inp3 == str:
    print("Lmao")
else:
    print('wut?')
if inp2 == str:
    print('Noice')

2条回答

or在逻辑值之间应用,例如:

inp == "Hello" or inp == "hello"

但是,您也可以使用in运算符实现所需的功能,该运算符检查值是否在列表中

inp in ('Hello', 'hello', 'hi', 'Hi')

但更好的是,考虑到您似乎希望不区分大小写,您可以将输入设置为小写,并且只匹配小写值

inp.lower() in ('hello', 'hi')

or运算符获取第一个“truthy”值(大致为非零非空),因此

if inp == ('Hello' or 'hello' or 'hi' or 'Hi'):

相当于

if inp == 'Hello':

您可能想要的是:

if inp in ('Hello', 'hello', 'hi', 'Hi'):

相关问题 更多 >