Number guessing function using while and if else functions

while x>a || x<a
%This classifies the user's input if the guess is above or below the program will tell the user their guess is incorrect
if x>a || x<a
%This classifies the user's input if the guess is above or below the program will tell the user their guess is incorrect
disp('You are to high/low please guess again \n')
else x=a
disp('You''ve got it!')
end
I'm wanting to run a program that uses a random number and outputs if the user defined input is a correct guess or else the program prompts the user to keep inputting guesses until they are correct.

5 个评论

while x>a || x<a
is the same as
while ~isnan(x) && x ~= a
Anyhow, you did not ask us a question.
Our question would probably be "Where are you accepting input from the user?"
I'm sorry this is the full code I have for the problem. Right now it asks the user once and then you can't keep inputting until you're right. How do I make it so the user has to still input an answer until they match the correct random variable?
function guessing
a=randi(20); %Output one random number.
disp('I am thinking of a number between 1 and 20 \n') %Displays text
x=input('Input your guess \n');% Asks user to input a number
if x>a
%This classifies the user's input if the guess is above or below the program will tell the user their guess is incorrect
disp('You are to high guess again \n')
elseif x>a
disp('You''re too high, guess again')
elseif x == a
disp('You''ve got it!')
else x=input('Input your guess \n');
end
if x<a
disp('You are too low guess again \n');
elseif x>a
disp('You''re too high, guess again')
elseif x == a
disp('You''ve got it!')
else x=input('Input your guess \n');
end
end
while x ~= a
if x > a
too high
else
too low
end
input a new guess
end
just right
The code doesn't seem to be working.
function guessing
a=randi(20); %Output one random number.
disp('I am thinking of a number between 1 and 20 \n') %Displays text
x=input('Input your guess \n');% Asks user to input a number
while x ~= a
if x > a
%This classifies the user's input if the guess is above or below the program will tell the user their guess is incorrect
disp('You are to high guess again \n')
else x > a
disp('You''re too high, guess again')
end
x=input('Enter a new guess \n')
end
disp('Are you a jedi? You guessed right!')
The function does not settle on a number
else x > a
means the same thing as
else
disp(x > a)
Both branches of your code talk about the person being too high, with no branch saying they are too low.

请先登录,再进行评论。

回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Get Started with MATLAB 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by