当用户按回车键时终止while循环

28次意见(过去30天)
klb
klb 2021年4月10日
评论道: klb2021年4月12日
嗨eveyone,
这是我的while循环。它必须在用户没有输入任何值的情况下按回车键时结束。循环在终止前允许最多3个连续的空白项。而且,我不能得到n_points矩阵来保存条目而不出错。
我怎么解决这些问题?
谢谢你的宝贵时间。
清晰的所有
disp (“开始输入数据点”
T = 1;
X_point = input('enter x: '
Y_point = input('enter y: '
N_points = [x_point,y_point];
X_point ~= isempty(X_point) | y_point ~= isempty(y_point)%不会在用户不输入值的情况下按回车键立即终止。
X_point = input('enter x: '
Y_point = input('enter y: '
T = T +1
N_points (t,:) = [x_point,y_point];
结束

接受的答案

1月
1月 2021年4月11日
编辑:1月 2021年4月11日
避免重复代码:
disp (“开始输入数据点”
T = 0;
真正的%无限循环
X_point = input('enter x: ');
如果isempty (x_point)
打破停止WHILE循环
结束
Y_point = input('enter y: ');
如果isempty (y_point)
打破停止WHILE循环
结束
T = T + 1;
N_points (t,:) = [x_point, y_point];
结束
或者:
disp (“开始输入数据点”
T = 0;
Ready = false;
~准备好了
X_point = input('enter x: ');
如果~ isempty (x_point)
Y_point = input('enter y: ');
结束
如果~isempty(x_point) && ~isempty(y_point)
T = T + 1;
N_points (t,:) = [x_point, y_point];
其他的
Ready = true;
结束
结束
1评论
klb
klb 2021年4月12日
谢谢,简,这有用。非常欣赏这两种不同的while循环逻辑。通过这些,您还澄清了以下内容。
由于某种原因,我一直有这样的印象:循环终止逻辑必须只在循环开始时提供,循环中的语句一直运行到该逻辑返回false为止。现在我看到while循环也可以从循环内部终止。谢谢你!

登录评论。

更多答案(1)

乔纳森·克莱顿
乔纳森·克莱顿 2021年4月10日
下面的代码查看用户为该循环输入的元素数量,如果该数字为零,则循环中断。
如果元素个数(x_point) +元素个数(y_point) = = 0
打破
结束
将此代码添加到n_points变量之上,这样空变量就不会添加到列表中。
4评论
klb
klb 2021年4月12日
乔纳森,我在用代码块。我还学习了如何从循环内部终止while循环。谢谢你的时间和帮助!

登录评论。

类别

了解更多万博1manbetx帮助中心而且文件交换

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!

翻译的