2016-07-26 36 views
3

我试图根据用户的输入显示文本。例如,输入单词APPLE应显示BANANA。如果Then语句显示所有可能性

这段代码工作正常:

:Input X 
:If X=APPLE 
:Disp "BANANA" 

但我不能确定如何构建关闭此做了一系列检查:

:Input X 
:If X=Apple 
:Disp "BANANA" 
:If X=LEMON 
:Disp "LIME" 
:If X=PEACH 
:Disp "PEAR" 

如果我这样做,它会显示BANANA,LIME ,PEAR按顺序排列,不管我实际输入什么。我错过了什么?

回答

2

尝试重写您的代码片段以使用Str1而不是X.这将确保您将字符串类型与另一个字符串类型进行比较。

:Input Str1 

:If Str1="APPLE" 
:Then 
:Disp "BANANA" 
:End 

:If Str1="LEMON" 
:Then 
:Disp "LIME" 
:End 

:If Str1="PEACH" 
:Then 
:Disp "PEAR" 
:End 
+0

您好,当我尝试这个,我得到错误:数据类型 – matlabconqueso

+0

@我已经更新了片段。试试看? – 4444

+1

它的工作原理!谢谢! – matlabconqueso

0

接受的答案是正确的,但它使用了不必要的Then/End语句和结束引号,总共需要18个字节。我建议这个代码更类似于原始的:

Input Str1 
If Str1="APPLE 
Disp "BANANA 
If Str1="LEMON 
Disp "LIME 
If Str1="PEACH 
Disp "PEAR 

假设上面的代码是一个完整的程序,它可以缩短为:

Input Str1 
If Str1="APPLE <-- you can remove this line if you know there will be no invalid input 
"BANANA 
If Str1="LEMON 
"LIME 
If Str1="PEACH 
"PEAR 
Ans