How can i correctly write an if "yes or no" statement?

34 Ansichten (letzte 30 Tage)
Kelvin Luo
Kelvin Luo am 26 Mai 2017
Beantwortet: Salam Ismaeel am 28 Nov. 2019
For Example, x=input('Do you know the area of your building?(yes/no)' ,'s') if (x=='yes') area=input('What is the area of your building?') elseif (x=='no') shape=input('is your building circular or rectangular?') end How could i make it so that if the input is "yes" or "no" that it would do one of the following commands?

Akzeptierte Antwort

Jan
Jan am 26 Mai 2017
Bearbeitet: Jan am 26 Mai 2017
if strcmpi(x, 'yes')
...
elseif strcmpi(x, 'no')
...
else
error('Please type "yes" or "no"');
end
The == is the elementwise comparison, which fails when x and 'yes' have a different number of characters.

Weitere Antworten (1)

Salam Ismaeel
Salam Ismaeel am 28 Nov. 2019
Just for genral use, not necessary for this case only. I create this function:
%******************************************************************************************
% CheckYesOrNo.m
% This function return 1 for Yes and 0 for No
% Input
% chos : charater variable
% Output:
% T : Logic variable (0 or 1)
%******************************************************************************************
function T = CheckYesOrNo(chos)
chos = lower(chos);
while chos ~= 'y' || chos ~= 'n'
if chos == 'y' || chos == 'n'
break
else
chos=input('Please input y or n? ','s');
end
end
if chos =='y'
T = 1;
else
T = 0;
end

Community Treasure Hunt

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

Start Hunting!

Translated by