编写一个名为under_age需要两个正整数的函数标量参数:年龄代表某人的年龄限制,代表了年龄限制。该函数返回true,如果人比年龄年轻。如果第二个参数

363(30天)
函数too_young = under_age(年龄限制)
限制= 21
如果年龄< =限制
too_young = true;
elseif年龄> =限制
too_young = false;
其他的
流(“无效\ n”)
结束
15个评论
1月
1月 2022年4月4日
这已经成为一个奇怪的线程。我们发现一堆理想的实现。
我们需要6行代码(包括“结束”)。约翰IF块浓缩成1线,但是毫无疑问他的实现是干净的和详尽。
是什么原因发布很多其他少优雅而不工作版本?
许多初学者建议:
如果年龄>
too_young = true;
其他的
too_young = false;
结束
而不是紧凑和高效:
too_young = >年龄限制;

登录置评。

接受的答案

约翰D 'Errico
约翰D 'Errico 2019年3月23日
编辑:约翰D 'Errico 2020年11月8日
这不是一个错误。这是一个失败的代码工作,因为它应该是由你的目标。
我说了什么?每个人都说到目前为止什么?你不能像你那样设置一个默认。
即使你通过在18号的极限下,你要做的第一件事里面是重置价值21。
相反,你需要考虑如何测试,看是否提供了限制。
编辑:(18个月后)
现在有很多的答案,都是漫长的,我将展示如何编写它。
函数tooyoung = under_age(年龄限制)
% under_age:返回true,如果人的年龄限制
%用法:tooyoung = under_age(年龄限制)
%
%参数:(输入)
%——数字时代。写,年龄可以是标量,或任何大小的数组
%
%限制:可选参数,如果没有提供,默认是21
%
%参数:(输出)
% tooyoung——一个布尔变量,表示如果年龄限制。
%
%不做测试来验证年龄或限制,如果提供的是有效的
%年龄本身,或者即使他们是数字。更好的代码
%做这些事情。
%测试限制已经提供。如果不是,那么默认是21
如果输入参数个数< 2,限制= 21;结束
%不需要使用一个if语句。测试本身是期望的结果。
tooyoung =年龄<限制;
结束
看到我的大多数代码实际上是注释。帮助是非常重要的,因为它允许您快速使用代码明年当你忘记如何写,或当你忘记参数的意思。
认为内部评论提醒自己,一年后当你看代码和需要改变的代码由于某种原因,或上帝保佑,你需要调试它。我推荐的目标是一行每行代码的评论,或在最坏的情况下,每一行代码在代码中做重要的事情。
评论是免费的!好的代码应该积极绿色由于所有的评论。我的解决方案代码冗长的只是因为所有的评论。
还有什么?
记住,白色的空间是非常重要的。它使您的代码容易阅读。
使用聪明的,有意义的变量名。良好的助记符变量名称有助于使代码可读性,再一次,容易阅读。当你通过代码扫描,你不想继续回去被迫记住变量wxxyy做什么工作?
就像我说的,更好的代码会包括测试来验证这两个年龄和极限,如果提供,实际上是数值变量。最好的代码是友好的代码。当失败时,你想要的代码法耶尔在一种友好的方式,告诉这个人被认为是错误的。你不想发生什么是代码做了一些扭曲的和意想不到的,或者返回一些随机的难以理解的错误消息。最好的代码很容易使用的代码。
最后测试这段代码是一个矢量化的测试,在,如果你的代码是这样的:
tooyoung = under_age ([12 75 29], 21)
tooyoung =
1 1 0 0
它将工作并返回一个向量的结果。向量化代码通常是好的代码,因为它允许用户不必使用循环多次当他们想要使用的代码行。
最后,我可以写代码,只需要一行代码?因此测试是否限制了,返回一个相比,年龄只是一行吗?可能,但这是不必要地复杂,难以阅读和调试。一直没有获得质量的代码或运行速度。好的代码很简单,易于阅读,易于使用,易于调试。
5个评论
里克
里克 2020年8月5日
你读过的文档吗 输入参数个数 函数看它做些什么?它返回n棕土的参数(uments你提供)(把)。如果它是小于2,这意味着限制没有提供作为输入参数。

登录置评。

更多的答案(24)

Saurabh库马尔
Saurabh库马尔 2019年3月28日
编写一个函数 under_age 这需要两个正整数标量参数:
  1. 年龄代表某人的年龄,和
  2. 限制代表一个年龄限制。
函数返回 真正的 如果这个人是年轻的比年龄限制。如果第二个参数, 限制 不提供,它默认为21。你不需要检查输入正整数标量。
函数x = under_age(年龄、限制)
如果输入参数个数< 2
限制= 21;
如果年龄<限制
x = true;
其他的
x = false;
结束
结束
如果输入参数个数= = 2
如果年龄<限制
x = true;
其他的
x = false;
结束
结束
7评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年6月20日
MATLAB(和几乎所有编程语言…但不是 所有 )程序语言,语句的顺序是很重要的。
假设你是爬梯子。在大多数情况下,你一步上升。现在假设你项目,
“移动脚高50厘米,体重”
但是当你到达山顶呢?
“移动脚高50厘米,体重”
“如果没有更高的评级,不迈出这一步”
太迟了。你已经把你的体重在半空中 之前 检查是否有东西把你的体重上。
你不是需要一个检查
“如果有一个更高的阶段,移动脚高50厘米,体重”
先检查, 之前 依赖于它的存在。
你的编码
如果年龄<限制
如果输入参数个数< 2
限制= 21
结束
结束
类似于没有检查现有更高一级之前你的体重会。
= = =
最好的编程实践首先检查异常,检查是否计算是有效的在计算之前。
然而,在 某些情况下,它是有效的“修补”如果你遇到一个例外。例如,更好的编程实践“1 / x如果x不是0,0 x = 0”
y = 0(大小(x));
掩码= x ~ = 0;
y(面具)= 1. / x(面具);
这段代码不除0。
但如果你是 确定 您使用的是IEEE 754,你可以指望这一事实IEEE 754定义,1 / x 一些 结果1/0(而不是崩溃的程序),而你可以做一个patch-up-later版本:
y = 1. / x;
y (x = = 0) = 0;
就像patch-up-later版本的问题,
函数too_young = under_age(年龄限制)
too_young =年龄< 21;
如果输入参数个数> 1
too_young =年龄<限制;
结束
结束
请注意,该变量 限制 没有使用之前已经检查,以确保它是礼物。

登录置评。


玛雅ghugretkar
玛雅ghugretkar 2019年6月7日
这也可以工作…
有点紧凑的方法
函数too_young = under_age(年龄限制)
如果输入参数个数< 2
限制= 21;
结束
如果年龄<限制
too_young = true;
其他的
too_young = false;
返回
结束
结束
5个评论
里克
里克 2021年6月3日
帮助输入参数个数
输入参数个数函数输入参数的数量。体内的用户定义函数,输入参数个数返回输入参数的数量被用来调用该函数。如果函数使用一个参数验证块,那么只有位置参数提供的函数调用中包含这个数字。可选参数调用者提供的是不包括在内。名称-值参数是不包括在内,是否提供。输入参数个数(有趣)返回宣布的数量输入函数的乐趣。参数是-如果函数的数量数量可变的输入参数。如果函数使用一个参数的验证模块,输入参数个数返回宣布位置参数的数量函数作为一个非负价值。有趣的可以是一个函数处理映射到一个特定的函数,或者一个特征向量或字符串标量包含该函数的名称。变长度输入宗量,参见NARGOUT NARGINCHK、INPUTNAME MFILENAME。 Documentation for nargin doc nargin Other functions named nargin fittype/nargin inline/nargin

登录置评。


Astr
Astr 2019年9月8日
函数too_young = under_age(年龄限制)
如果输入参数个数= = 1
限制= 21;
结束
too_young = gt(限制、年龄);

Nijita Kesavan Namboothiri
Nijita Kesavan Namboothiri 2019年6月25日
函数too_young = under_age(年龄限制)
如果(输入参数个数< 2)
限制= 21;
结束
如果(年龄<限制)
too_young = true
其他的
too_young = false
结束
结束
6个评论

登录置评。


哈斯。乔希
哈斯。乔希 2020年4月23日
函数too_young = under_age(年龄限制)
如果输入参数个数< 2
限制= 21;
结束
如果年龄<限制
too_young = true;
其他的
too_young = false;
结束
结束
18 too_young = under_age(18日)
too_young = under_age (20)
too_young =
逻辑
0
too_young =
逻辑
1

sudeep lamichhane
sudeep lamichhane 2020年4月27日
函数too_young = under_age(年龄限制)
如果输入参数个数< 2
限制= 21;
结束
如果年龄<限制
too_young = true;
其他的
too_young = false;
结束

赛语Gorantla
赛语Gorantla 2020年2月1日
编辑:里克 2020年6月17日
函数[too_young] = under_age(年龄、限制)
如果输入参数个数= = 2
如果年龄<限制
too_young = true;
其他的
too_young = false;
结束
elseif输入参数个数< 2
如果年龄< = 21
too_young = true;
其他的
too_young = false;
结束
结束

穆罕默德elyoussef
穆罕默德elyoussef 2020年4月4日
函数c = under_age (a, b)
如果输入参数个数< 2
b = 21;
结束
如果b >
c = true;
其他的
c = false;
结束

摩诃汗
摩诃汗 2020年4月9日
函数[too_young] = under_age(年龄、限制)
如果(输入参数个数< 2)| | isempty(限制)
限制= 21;
结束
如果年龄> 21
too_young = false;
elseif年龄<限制
too_young = true;
elseif年龄= =
too_young = false;
elseif年龄< = 21
too_young = true;
elseif年龄<年龄
too_young = false;
elseif年龄< = 21
too_young = true;
其他的
too_young = true;
结束
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年4月9日
假设用户通过一个限制35,如测试资格的美国总统。假设传入的年龄是29岁。然后 如果年龄> 21 如果29日> 21 这是真的,所以你会宣布too_young = false,但显然答案应该是真的:29日<指定的限制。

登录置评。


米尔Mahim
米尔Mahim 2020年5月7日
函数一个= under_age(年龄、限制)
如果输入参数个数< 2
限制= 21;
结束
< =年龄限制;
结束

Aasma谢赫
Aasma谢赫 2020年5月26日
函数too_young = under_age(年龄限制)
如果输入参数个数< 2
限制= 21;
如果(年龄<限制)
too_young = true;
其他的
too_young = false;
结束
elseif((输入参数个数= = 2)& &(年龄<限制)
too_young = true;
其他的
too_young = false;
结束
结束
%复制,粘贴和运行

jaya shankar veeramalla
jaya shankar veeramalla 2020年5月29日
函数too_young = under_age(年龄限制)
如果(输入参数个数< 2)| | isempty(限制)
限制= 21;
结束
如果年龄<限制
too_young = true;
其他的年龄> =限制
too_young = false;
结束

AYUSH MISHRA
AYUSH MISHRA 2020年6月4日
函数too_young = under_age(年龄限制)
如果输入参数个数< 2
限制= 21;
结束
如果年龄<限制
too_young = true;
其他的
too_young = false;
结束
解决方案;
under_age(18岁,18)
ans =
逻辑
0
under_age (20)
ans =
逻辑
1

Keshav帕特尔
Keshav帕特尔 2020年6月8日
函数too_young = under_age(年龄限制)
如果输入参数个数< 2
限制= 21;
如果年龄<限制
too_young = true;
其他的
too_young = false;
结束
结束
如果输入参数个数= = 2
如果年龄<限制
too_young = true;
其他的
too_young = false;
结束
结束

saurav女子
saurav女子 2020年6月17日
编辑:里克 2020年6月17日
函数[一]= under_age (n,米)
一个= n < m;
如果= = 1;
流(“真正的”)
结束
如果输入参数个数< 2;
m = 21;
结束
结束

阿卡什SHELKE
阿卡什SHELKE 2020年8月9日
编辑:阿卡什SHELKE 2020年8月9日
函数too_young = under_age(年龄限制)
如果输入参数个数< 2
限制= 21;
结束
如果年龄<限制
too_young = true;
其他的
too_young = false;
结束

穆罕默德阿克毛Afibuddin Putra
函数too_young = under_age(年龄限制)
如果输入参数个数< 2
限制= 21;
结束
如果年龄<限制
too_young = 1 = = 1;
其他的
too_young = 1 = = 2;
结束
结束
3评论

登录置评。


Omkar Gharat
Omkar Gharat 2020年8月11日
函数[too_young] = under_age(年龄、限制);
%的年龄=输入(输入申请人的年龄:)
% =限制输入(输入申请人的年龄限制:)
如果输入参数个数< 2
限制= 21;
结束
如果年龄<限制
too_young = true;
其他的
too_young = false;
结束
结束
这是我的代码,它是100%正确的

Khom Raj Thapa Magar
Khom Raj Thapa Magar 2020年9月6日
确保你的缩进是正确的编码
函数too_young = under_age(年龄限制)
如果输入参数个数< 2
限制= 21;
如果年龄<限制
too_young = true;
其他的
too_young = false;
结束
结束
如果输入参数个数= = 2
如果年龄<限制
too_young = true;
其他的
too_young = false;
结束
结束
调用功能
> > too_young = under_age(18岁,18)
> > too_young = under_age (20)
输出:
too_young =
逻辑
0
too_young =
逻辑
1

杰西卡Trehan
杰西卡Trehan 2020年9月21日
函数too_young = under_age(年龄限制)
如果输入参数个数< 2
限制= 21;
如果年龄<限制
too_young = true;
其他的
too_young = false;
结束
结束
如果输入参数个数= = 2
如果年龄<限制
too_young = true;
其他的
too_young = false;
结束
结束
%完美的代码
7评论
里Olha Skurikhina
里Olha Skurikhina 2021年1月11日
谢谢你!这是非常愚蠢的。我已经解决了困难问题的课程但是这个不能解决。那是我的问题,加上如果=年龄限制,它仍然是应该返回false“< =”是不正确的。

登录置评。


阿姆阿里
阿姆阿里 2021年9月6日
函数too_young = under_age(年龄、限制);
开关输入参数个数
情况下1
限制= 21;
结束
如果(年龄>);
too_young = true;
其他的
too_young = false;
结束
开关输入参数个数
情况下2
结束
如果限制年龄>;
too_young = true;
其他的
too_young = false;
结束
2的评论

登录置评。


VIGNESH B年代
VIGNESH B年代 2021年10月13日
函数[too_young] = under_age(年龄、限制)
如果输入参数个数= = 2
too_young =比较(年龄、限制);
elseif输入参数个数= = 1
too_young =比较(年龄、21);
结束
结束
函数[答案]=比较(x, y)
如果x < y
回答= (1 > 0);
其他的
回答= (0 > 1);
结束
结束
3评论
图像分析
图像分析 2021年10月14日
但它 看起来优雅。一个优雅的项目要做
回答= x < y;
而不是笨重的
如果x < y
回答= (1 > 0);
其他的
回答= (0 > 1);
结束

登录置评。


亚历山大•
亚历山大• 2022年6月29日
这对我来说很好。很短,但我不明白为什么“nargout”工作的一部分。
函数too_young = under_age(年龄限制)
如果输入参数个数< 2
限制= 21
结束
too_young =年龄<限制;
如果nargout = = 2
too_young = true (1);
结束
4评论
亚历山大•
亚历山大• 2022年6月29日
编辑:亚历山大• 2022年6月29日
是的,这样做是matlab coursea作业,说工作很好困惑我的代码。三周前我开始编码。

登录置评。


默罕默德
默罕默德 2022年7月23日
%帮助需要
错误显示=输出参数“x”(也不可能)赋值在执行“under_age”功能。
函数x = under_age(年龄、限制)
如果输入参数个数< 2
限制= 21;
如果年龄<限制
x = true;
结束
结束
如果输入参数个数= = 2
如果年龄<限制
x = true;
结束
结束
3评论
默罕默德
默罕默德 2022年7月23日
函数too_young = under_age(年龄限制)
如果输入参数个数< 2
限制= 21;
如果年龄<限制
too_young = true;
其他的
too_young = false;
结束
结束
如果输入参数个数= = 2
如果年龄<限制
too_young = true;
其他的
too_young = false;
结束
结束
非常感谢 Mr.Walter罗伯森

登录置评。

s manbetx 845


释放

R2017b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!