If Then 语句显示所有可能性

If Then statement displays all possibilites

我正在尝试根据用户的输入显示文本。例如输入单词 APPLE 应该会显示 BANANA.

这段代码工作正常:

: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。我错过了什么?

尝试重写您的代码段以使用 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

接受的答案是正确的,但它使用了不必要的 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