-1

我需要向用户询问温度,k 或 K 代表开尔文,c 或 C 代表摄氏度,f 或 F 代表华氏度。我怎样才能把所有这些都放在一个循环中?我需要不断询问用户,直到他们输入上述字母之一。这就是我到目前为止所拥有的。

  tempType = input('What type of temperature would you like to use: ', 's');

  value = ['k','K','c','C','f','F'];

  while strcmp(tempType, value) == 1  

     tempType = input('What type of temperature would you like to use: ', 's');

  end
4

2 回答 2

1

我宁愿这样做以避免两条完全相同的行(在 R2011b 中测试):

AllowedTemperature = {'k','K','c','C','f','F'};
SelectedTemperature = '';
while ~any(strcmp(SelectedTemperature,AllowedTemperature))
    SelectedTemperature = input('What type of temperature would you like to use: ', 's');
end
disp( [ 'SelectedTemperature: ' SelectedTemperature ] )
于 2013-03-27T21:36:02.470 回答
0

你想(length(tempType)~=1 || length(findstr(tempType,value))==0)成为你的条件

于 2013-03-27T21:12:31.087 回答