我目前通过Xoctave在Windows中使用Octave,我遇到了以下问题。
我尝试运行以
开头的脚本activity = input("What would you like to do? ");
当我在控制台中调用此脚本时,它会打印出来
What would you like to do?
当我输入数字并按回车键时,它会返回:
What would you like to do? 1
error: `What' undefined near line 4 column 1
>>
好像控制台试图解析前一个命令的输出(即,尝试解析整行,包括提示文本)。
为了更清楚地了解我想说的内容,只需保存一个只包含该行的脚本:
m = input('Enter m: ');
然后尝试在Xoctave中运行该脚本。我相信你也会得到同样的错误。
我认为这与更改默认解析行为有关,但我不确定如何。
@Bart_Kiers
我觉得你误解了=
当我做你刚才开的时候,它会存储:
活动=你想做什么? 1
我希望它只存储activity = 1
我发现这样做的唯一方法是:
activity1 =输入("选择1或0");
activity2 = strrep(活动,"选择1或0","");
活性= str2num(活性2)
它将输出: 活性= 1
为了澄清这个问题,它使用菜单功能创建了一个类似但更令人沮丧的问题。 如果我这样做:
number=menu("What's your favorite number?",1,2,3,4,5);
它提示:
[ 1] 1
[ 2] 2
[ 3] 3
[ 4] 4
[ 5] 5
pick a number, any number:
我键入3然后按回车键返回:"错误:输入无效或超出范围"因为它试图解析整行,包括提示! = [帮助!
另外,我使用Xoctave与Windows中的Octave命令行进行交互。 不确定这是否有帮助。
谢谢!
答案 0 :(得分:1)
我无法复制您的错误,但您可以尝试:
m = input("Enter m: \n");
新行不适用于菜单。