How to get different input, depending on the last input
2 views (last 30 days)
Show older comments
So I need to make a chatbot script and i'm stuck on this part
x = input('+ ', 's');
s={'hey','hi','hello'};
if ismember(x,s)
disp('Hello, What''s your name?')
else disp('Don''t you say hello?')
end
So at this point if the user inputs hello I can ask for the next input which is the name. But if they don't, it displays the else situation. How do I go a different direction if the user doesn't say 'hello'? So for example, after displaying the else, if the user inputs 'hello' the script would return 'That is better, hello back' or something.
Sorry if i'm unclear, thanks.
0 Comments
Accepted Answer
Geoff Hayes
on 24 May 2015
ali - you could use a while loop to get the user to say/input 'hello' and then branch off to the next step which would be to get the name. Something like
x = input('+ ', 's');
s = {'hey','hi','hello'};
userIsRude = false;
while ~ismember(lower(x),s)
userIsRude = true;
disp('Don''t you say hello?');
x = input('+ ', 's');
end
if ~userIsRude
disp('Hello, What''s your name?');
else
disp('Finally...you said hello. What''s your name?');
end
You could then add the code to get the user to enter his/her name.
0 Comments
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!