

我偶然发现了CodeWars。 太偶然了,我什至不记得怎么做。 我只是记得有一个练习问题,您必须回答才能访问该网站…我不知道如何解决它,所以我就用Google搜索它,然后进入繁荣时期 。
CodeWars的工作方式是(这只是我的理解和经验,因此请不要在此引用我的意思),有很多由用户组成的Kata或实践问题,并且它们以多种语言呈现: C,C ++,Java ,JavaScript,Python,Ruby,Swift等。您只需按照说明进行操作,并尝试解决问题。 (有点像抱石!)问题也被分解为不同的困难,从最困难的8 kyu到最困难的1 kyu 。 (好吧,那里有没有去过东京体育馆的登山者?相同的评分系统。这真的像抱石!)
我当时唯一熟悉的语言是Swift ,这对我来说是幸运的,Swift提供了大量的练习测试。 起初,我几乎不了解语法只是来自iPad的Swift Playgrounds,它基本上是为孩子们设计的。 对于几乎每个问题,我都必须用谷歌搜索答案(通常是在堆栈溢出时着陆),或者放弃并单击“显示解决方案”选项。我确保记下我没有得到的内容,并尝试分解每个问题一点……我记得for in loops是最难掌握的概念,尤其是通常用于表示数组中元素的i 。
SWIFT *
var myArray = [1、2、3、4、5]
var output = 0 for my in myArray {
输出+ = i
} print(“ \(output)”)/ *打印“ 15”,这是在myArray中的每个元素上添加要输出的结果:0 + 1 + 2 + 3 + 4 + 5 * /
我听不懂, “为什么?” ,但仍然听不懂,但我只是接受并接受。 i只是在循环范围内使用的任意标签。 只要您与pikachu交换循环中i 每个实例, i就可以与pikachu交换
在myArray {
输出+ =皮卡丘
}
几个月后的今天,我很快就退缩了,因为我被困在大约7–6 kyu的练习问题上,这些问题开始涉及class , guard和if let语句……我开始精疲力尽。 现在,我再次从最低级别重新启动,并切换到JavaScript,以便更好地了解我兄弟的React.js网站内容。
现在,我通过写这篇中篇文章而不是做这个JavaScript问题来拖延时间,但是我将尝试同时解决它并写它。
JavaScript *




思考过程:
-
a可能很棒或少于b - 我正在描绘范围
a...b或b...a(从低到高) - 我想定义一个int类型相同的占位符
sum:0将在我的代码末尾返回,所以我首先编写它。var sum = 0; - 解决方案最简单的部分是,如果
a == b(==:“等于”),那么我可以返回a或b,因此我将其放在代码的开头
如果(a == b){
返回
}
- 然后我继续讨论“如果
a != b?” (!=:“不等于”)的情况。 - 然后有两种情况:第一个项目符号要指出的
a > b或b > a
else if(a> b){//以下关于了解for循环的注意事项
for(var i = b; //起点
我<=一个; //保持运行时保持CODEBLOCK
i ++ //每次CODEBLOCK运行一次后运行
){
代码块;
}
- 一旦
a > b被平方,最后剩下的情况就是b > a,不需要写。 - 完成所有必要的
return sum;
这就是我的解决方案/尝试的样子……


您可以点击一个尝试按钮来检查您的代码是否有效……并且有效! 您可以说: “我闪过这个问题”。 (登山者的笑话…)


提交解决方案后,您将看到其他人如何解决相同的问题。 不同的测试版! 而且它变得很奇怪,很酷,令人发指。




有时我会在此处记录解决方案,有时我会忽略并继续进行,如果这超出了我目前的理解。 但是您可以看到为什么这很有趣。 基本上是功课或培训…
好吧,回到它。
结束。