Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在while循环中使用if语句的AI多输入对话不';不行?_Python_String_Python 3.x_If Statement_While Loop - Fatal编程技术网

Python 在while循环中使用if语句的AI多输入对话不';不行?

Python 在while循环中使用if语句的AI多输入对话不';不行?,python,string,python-3.x,if-statement,while-loop,Python,String,Python 3.x,If Statement,While Loop,我正在制作的人工智能在一个while循环中工作,我想让它说的每件事都有if语句,例如: `while 1: lis = ("im bored","game","im board","what do you want to do","what should we do","rage","i","I","smashed","broke","destroyed","cracked","grounded","detention","in trouble","nothing","not much",

我正在制作的人工智能在一个while循环中工作,我想让它说的每件事都有if语句,例如:

`while 1:



lis = ("im bored","game","im board","what do you want to do","what should we do","rage","i","I","smashed","broke","destroyed","cracked","grounded","detention","in trouble","nothing","not much","erics number","date","time","no","nope","nah","not","yes","yep","yeah","in deed","bye","gtg","got to go","see you","c u","hi","hello","hello","hia","fuck","crap","shit","bleep","omg","OMG","oh my god","","","","","","look up","email","map","add Note","get Note","joke","rabid donkey","game","quit","help","raging","hurt","fire","","thanos","erics mad","danger","sad","upset","","","creator","thanks","lol","ok","k","yep","report","owner","maker","jarvis","coder","thank you","sup","whats up","what's up","hey","hah")

resp2 = input("")

esa = ""
for word in lis:
    if word in resp2:
       esa = word

    if esa in ("quit","bye","gtg","got to go","see you","c u"):
            byebro = random.choice(("ok bye Sergei cu later","bye sir","c u later sir","talk to you later then","talk to you later"))
            print (byebro)
            os.system("say '"+byebro+"'")
            exit()

    if esa in ("look up","web search","search the web for"):

            c = random.choice(("ok","lets see","let me see","ok sir il get right on that lets see","im looking up and i dont see anything??"))
            print (c)
            c1 = ("sorry an error has acurred package missing")
            print (c1)

            os.system("say '"+c+"'")
            os.system("say '"+c1+"'")
            break


    if esa == "add note":
            d = random.choice(("ok sir one sec il pull up the note pad","ok sir one sec","yeah one sec il pull it up","one sec sir","ok","ok sir"))
            print (d)
            os.system("say '"+d+"'")
            note1 = input("")
            notes.append(note1)
            break

    if esa == "get note":
            e = random.choice(("ok sir one sec il pull up the your recent notes","ok sir one sec","yeah one sec il pull it up","one sec sir","ok","ok sir notes","ok sir"))
            print (e)
            os.system("say '"+e+"'")
好的,这里有数百个这样的if语句,但我希望能够像这样和jarvis交谈。我可以说些什么,然后他会问我,然后我会回答,然后他回答,然后它会从if语句中跳出,然后再次通过循环和所有if语句

我:我被禁足了,贾维斯

贾维斯:你做了什么

我:我打碎了一扇窗户

贾维斯:哦,好的

所以我希望代码看起来像这样,但它不起作用

if esa in ("im grounded","im in trouble","i got detention"):
    print "your always getting in trouble its like second nature to you"
    esa3 = input("what did you do")
if esa3 in ("i broke something","i smashed something"):
    print "your always breaking stuff"

我发现你需要在if语句中加入if语句

if esa in ("im grounded","im in trouble","i have detention","i got detention"):
           punish = random.choice(("your always getting in trouble its like second nature for you lol","to bad i guess no fun for a while well its your fault lol","did you and eric do somthing stupid?!")) 
           print(punish)
           os.system("say '"+punish+"'")
           wdydQ = random.choice(("what did you do!!?!!","what did you do this time","can you go one week with out geting exspelled or suspended or in trouble what did you do!!"))
           print (wdydQ) 
           os.system("say '"+wdydQ+"'")

           lisgrd = ("i broke","i smashed","i destroyed","i cracked","i hit","i didn't","i hurt","i jumped","i had sex","i went to")

           respgrd = input("")

           esagrd = ""
           for wordgrd in lisgrd:

            if wordgrd in respgrd:

                esagrd = wordgrd




           if esagrd in ("i broke","i smashed","i destroyed","i cracked"):

            YbsA = random.choice(("your always breaking shit","im not paying for it this time and niether am i taking the blame!"))
            print (YbsA)
            os.system("say '"+YbsA+"'")
            break
           elif esagrd in ("i hit","i didn't","i hurt","i jumped","i had sex","i went to"):
            grd33 = random.choice(("i dont know what to say now","oh my god","your fing mental","are you kidding me"))
            print (grd33)
            os.system("say '"+grd33+"'")
            break
           elif esagrd in ("nothing","i dont know","i don't know","um"):
            grdq12 = random.choice(("don't bs me whatcha do!!","just tell me what happened","whatever"))
            print (grdq12)
            os.system("say '"+grdq12+"'")
            continue

我应该在while循环中使用for还是另一个while循环?确保if与for循环对齐,而不是if字grd