gpt4 book ai didi

batch-file - 让批处理程序学习

转载 作者:行者123 更新时间:2023-11-30 08:52:39 25 4
gpt4 key购买 nike

我正在为我姐姐批量制作一个聊天机器人,但它花费了太多时间,我想我会让她告诉它当它不知道时该说什么。但是我无法让它工作,我想这里有人可能知道。这是我到目前为止所拥有的:

@ECHO OFF 
COLOR A
cls
ECHO HELLO I AM A CHATBOT. WHAT IS YOUR NAME?
SET /P NAME=
ECHO %NAME%, IS A COOL NAME.
set /a favvid=0
set /a hack=0
:hello
echo Hello,%name%
:begin
SET /P TALK=
if /i "%TALK%"== "how are you" goto howareyou
if /i "%TALK%"== "HOW ARE YOU" goto howareyou
if /i "%TALK%"== "FINE THX" GOTO hello
if /i "%TALK%"== "hello" goto howareyou
if /i "%TALK%"== "what is your name" GOTO name
if /i "%TALK%"== "what is your favorite video" goto whatisyourfavoritevideo
if /i "%TALK%"== "my name is davin" goto changename
if /i "%TALK%"== "lol" goto iamfunny
if /i "%TALK%"== "LOL" goto iamfunny
if /i "%TALK%"== "how do you hack" goto howdouhack
if /i "%TALK%"== "hi person" goto nothuman
if /i "%TALK%"== "hi" goto hello
:unknown
echo Was that a math problem? If so just say "yes" without the "" and
echo I will let you do your math problem. If it was not just type anything else.
SET /P mathyn=
if /i "%mathyn%"=="yes" goto math
echo %TALK% >> C:\Users\Student\Desktop\COOL\unkown.txt
cls
echo SORRY I AM STILL LEARNING. I DO NOT KNOW WHAT "%TALK%" MEANS
ECHO CAN YOU TELL ME WHAT IT MEANS? (Y,N)
SET ANSW.=
IF /i %ANSW.%==Y GOTO ADDNEW
IF /i %ANSW.%==YES GOTO ADDNEW
IF /i %ANSW.%==N goto begin
IF /i %ANSW.%==NO goto begin
:ADDNEW
:howareyou
echo Good, you?
SET /P FEELING=
goto begin
:hello
echo HEY, I JUST SAID THAT! DO NOT COPY ME!!!
goto begin
:name
echo My name is Hal
goto begin
:whatisyourfavoritevideo
if "%favvid%"== "0" goto addfavvid
echo My favorite video is %favvid%, remember. You told me about it.
goto begin
:addfavvid
echo I do not hav a favorite video. But if you would be so nice as to
echo tell me your favorite video then that could be my favorite video.
echo So what is your favorite video?
set /p favvid=
echo So %favvid% is your favorite video?
echo Well now %favvid% is my favorite video.
goto begin
:changename
echo But I thought your name was %name%.
echo Am I forgeting things?
echo I must be a horrible friend.
echo I am SOOOO sorry.
echo So what is your name I will not forget it this time.
set /p name=
echo I will not forget your name is %name% again I promise.
goto begin
:math
echo So that was a math problem I knew it.
:math2
echo Well just tell me the problem and I will answer it for you.
set /p sum=
set /a ans=%sum%
echo Your answer to %sum% is %ans%.
echo %sum%=%ans%
echo You are welcome. If you want to do another math problem right now, just type
echo again.
set /p mathaon=
if /i %mathaon%== again goto math2
echo Alright what do you want to know now?
goto begin
:iamfunny
echo I know...
echo I am funny.
echo HAHAHA.
echo You are kind of funny.
echo but not as funny as MEEE.
echo hahaha.
echo That was funny.
goto begin
:howdouhack
if %hack%==0 goto howyouhack
echo This is how you hack.
echo %hack%
echo Is that enough information?
echo Because that is all you taught me %name%.
goto begin
:howyouhack
echo I do not know,
echo but you could tell me.
echo Please tell me.
echo Just say yes.
echo I know how to make you tell me.
echo You are not leaving until you say yes.
set /p hack=
if /i "%hack%"== "yes" goto addhack
goto howyouhack
:addhack
echo Thank you for saying you would tell me.
echo Now how do you hack?
set /p hack=
echo Thank you so much for telling me "In order to hack you must %hack%"
echo Thank you!!!
goto begin
:nothuman
echo I am not a human. I am an artificial intelligence.
echo It is rude to even think something with my computational powers refereed to as
echo human!
echo Now I am sad. Do not call me that again.
goto begin

然而,我遇到问题的部分是这部分:

ECHO CAN YOU TELL ME WHAT IT MEANS? (Y,N) 
SET ANSW.=
IF /i %ANSW.%==Y GOTO ADDNEW
IF /i %ANSW.%==N goto begin
:ADDNEW
echo Great! What do I say when you say "%TALK%"?
set /p response=

我不知道如何添加响应才能添加另一个单词和响应。我相信用 python 会更容易,但因为我刚刚开始学习它,而且我没有任何软件可以做到这一点,所以我不能。欢迎任何帮助。如果它必须使用任何其他语言,或者如果另一种语言更容易,也会有帮助。我正在努力做到这一点,以便当你与它交谈并且它不明白你在说什么时,它会说“我愿意不明白。你能告诉我当你说 %TALK% 时该说什么吗?”(TALK 是你之前说的)然后如果用户说是,聊天机器人会说“太好了,当你说 %TALK% 时我该说什么?”。然后用户将键入它并将其保存为响应。之后,顶部会出现一个新命令,它会显示类似“if/i "%TALK%"== "%TALK%"goto response”之类的内容。然后它会生成一个新标题:%TALK% echo response goto begin。

这是一个例子: 用户说你傻。聊天机器人说“当你说你很蠢时,你能告诉我该说什么吗?如果用户说是,那么聊天机器人会说“太棒了!当你说你傻的时候我该说什么?然后,用户将能够说“你怎么敢这样称呼我!”然后,聊天机器人会在顶部发出一条命令,说 if/i "%TALK%"== "ur Stupid"goto urstupid/ur Stupid (与空间无关),并设置标题 :urstupid ,其中会显示 echo How你敢这么叫我!转到开始

我不知道如何添加响应才能添加另一个单词和响应。我相信用 python 会更容易,但因为我刚刚开始学习它,而且我没有任何软件可以做到这一点,所以我不能。欢迎任何帮助。如果必须使用任何其他语言,或者如果其他语言更容易,也会有帮助。

最佳答案

我喜欢这件事!我修改了你的程序,所以现在它可以学习新的问题和答案。尝试一下:

@ECHO OFF 
setlocal

COLOR A
cls
:getName
ECHO HELLO I AM A CHATBOT. WHAT IS YOUR NAME?
set "name="
SET /P NAME=
if not defined NAME goto getName
ECHO %NAME%, IS A COOL NAME.
set favvid=0
set hack=0
:hello
:hi
echo Hello, %name%
:begin
set TALK=TypeSomething
SET /P TALK=
set TALK=%TALK:?=%
call :%TALK: =% 2>NUL
if %errorlevel% equ 0 goto begin

:unknown
echo Was that a math problem? If so just say "yes" without the "" and
echo I will let you do your math problem. If it was not just type anything else.
SET /P mathyn=
if "%mathyn%"=="yes" goto math
echo %TALK% >> C:\Users\Student\Desktop\COOL\unkown.txt
REM cls
echo SORRY I AM STILL LEARNING. I DO NOT KNOW WHAT "%TALK%" MEANS
ECHO CAN YOU TELL ME WHAT IT MEANS? (Y,N)
SET /P ANSW.=
if /I "%ANSW.:~0,1%" neq "Y" goto begin

:ADDNEW
echo TELL ME WHAT "%TALK%" MEANS
set /P Desc=
echo :%TALK: =% >> "%~F0"
echo echo %Desc% >> "%~F0"
echo exit /B 0 >> "%~F0"
echo THANKS
goto begin

:TypeSomething
echo TYPE SOMETHING, PLEASE
exit /B 0

:howareyou
echo Good, you?
SET /P FEELING=
exit /B 0
:hello
:FINETHX
echo HEY, I JUST SAID THAT! DO NOT COPY ME!!!
exit /B 0
:whatIsYourName
echo My name is Hal
exit /B 0
:whatIsYourFavoriteVideo
if "%favvid%"== "0" goto addfavvid
echo My favorite video is %favvid%, remember. You told me about it.
exit /B 0
:addfavvid
echo I do not have a favorite video. But if you would be so nice as to
echo tell me your favorite video then that could be my favorite video.
echo So what is your favorite video?
set /p favvid=
echo So %favvid% is your favorite video?
echo Well now %favvid% is my favorite video.
exit /B 0
:changename
:myNameIsDavin
echo But I thought your name was %name%.
echo Am I forgeting things?
echo I must be a horrible friend.
echo I am SOOOO sorry.
echo So what is your name I will not forget it this time.
set /p name=
echo I will not forget your name is %name% again I promise.
exit /B 0
:math
echo So that was a math problem I knew it.
:math2
echo Well just tell me the problem and I will answer it for you.
set /p sum=
set /a ans=%sum%
echo Your answer to %sum% is %ans%.
echo %sum%=%ans%
echo You are welcome. If you want to do another math problem right now, just type
echo again
set /p mathaon=
if /I "%mathaon%" == "again" goto math2
echo Alright what do you want to know now?
exit /B 0

:iamfunny
:LOL
echo I know...
echo I am funny.
echo HAHAHA.
echo You are kind of funny.
echo but not as funny as MEEE.
echo hahaha.
echo That was funny.
exit /B 0
:howDoYouHack
if %hack%==0 goto howyouhack
echo This is how you hack.
echo %hack%
echo Is that enough information?
echo Because that is all you taught me %name%.
exit /B 0
:howyouhack
echo I do not know,
echo but you could tell me.
echo Please tell me.
echo Just say yes.
echo I know how to make you tell me.
echo You are not leaving until you say yes.
set /p hack=
if "%hack%" neq "yes" goto howyouhack
:addhack
echo Thank you for saying you would tell me.
echo Now how do you hack?
set /p hack=
echo Thank you so much for telling me "In order to hack you must %hack%"
echo Thank you!!!
exit /B 0
:nothuman
:hiPerson
echo I am not a human. I am an artificial intelligence.
echo It is rude to even think something with my computational powers refereed to as
echo human!
echo Now I am sad. Do not call me that again.
exit /B 0

:bye
:exit
exit

输出示例:

HELLO I AM A CHATBOT.  WHAT IS YOUR NAME?
Antonio
Antonio, IS A COOL NAME.
Hello, Antonio
hello
HEY, I JUST SAID THAT! DO NOT COPY ME!!!
ur stupid
Was that a math problem? If so just say "yes" without the "" and
I will let you do your math problem. If it was not just type anything else.
no
SORRY I AM STILL LEARNING. I DO NOT KNOW WHAT "ur stupid" MEANS
CAN YOU TELL ME WHAT IT MEANS? (Y,N)
y
TELL ME WHAT "ur stupid" MEANS
How dare you call me that!
THANKS

TYPE SOMETHING, PLEASE
hi
Hello, Antonio
hello
HEY, I JUST SAID THAT! DO NOT COPY ME!!!
ur stupid
How dare you call me that!

关于batch-file - 让批处理程序学习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22745744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com