Scilab 中输入命令的奇怪行为
Weird behavior of the input command in Scilab
我希望我的学生像这样使用 Scilab 编写一个小游戏:
a=ceil(100*rand())
disp("I think of a number between 1 and 100. Which one ?")
guess=0
while(guess<>a) do
guess= input("Guess :")
if (a>guess) then
disp("+")
elseif (a<guess) then
disp("-")
end
end
disp("You got it")
但是第一个输入和最后一个输入有一些奇怪的行为。在第一次输入后,有时我没有答案(但有时我有),我又被问到 "Guess",但这次在控制台上有一个通常的提示 -->
。我可以放任何东西,这对程序来说似乎无关紧要。但是程序并没有结束,就在它 returns 到预期的行为之后。
最后,在"You got it"之后,似乎还有一些输入。在我再次收到 -->
之前,我收到了一两次提示。
控制台可能如下所示:
Guess :
50
Guess :
--> 50
Guess :
50
+
Guess :
75
-
Guess :
我不明白为什么 Scilab 会有这样的反应。
我经历过很多次,这是 Scilab 6.0.0 input()
中的一个已知错误:
第一个link也提供了一个解决方法,但我不会说它适合学生。由于@Desire 无法重现该错误,我建议您将 Scilab 降级到 5.5.1 版,并告诉您的学生也这样做。
我希望我的学生像这样使用 Scilab 编写一个小游戏:
a=ceil(100*rand())
disp("I think of a number between 1 and 100. Which one ?")
guess=0
while(guess<>a) do
guess= input("Guess :")
if (a>guess) then
disp("+")
elseif (a<guess) then
disp("-")
end
end
disp("You got it")
但是第一个输入和最后一个输入有一些奇怪的行为。在第一次输入后,有时我没有答案(但有时我有),我又被问到 "Guess",但这次在控制台上有一个通常的提示 -->
。我可以放任何东西,这对程序来说似乎无关紧要。但是程序并没有结束,就在它 returns 到预期的行为之后。
最后,在"You got it"之后,似乎还有一些输入。在我再次收到 -->
之前,我收到了一两次提示。
控制台可能如下所示:
Guess :
50
Guess :
--> 50
Guess :
50
+
Guess :
75
-
Guess :
我不明白为什么 Scilab 会有这样的反应。
我经历过很多次,这是 Scilab 6.0.0 input()
中的一个已知错误:
第一个link也提供了一个解决方法,但我不会说它适合学生。由于@Desire 无法重现该错误,我建议您将 Scilab 降级到 5.5.1 版,并告诉您的学生也这样做。