在26岁重新开始生活:第03部分-CodeWars上的XP研磨

这张桌子很能代表我现在的生活。 杂乱无章,但功能正常。

我偶然发现了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的练习问题上,这些问题开始涉及classguardif let语句……我开始精疲力尽。 现在,我再次从最低级别重新启动,并切换到JavaScript,以便更好地了解我兄弟的React.js网站内容。

现在,我通过写这篇中篇文章而不是做这个JavaScript问题来拖延时间,但是我将尝试同时解决它并写它。

JavaScript *

方向
他们给你的开始…祝你好运!

思考过程:

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

这就是我的解决方案/尝试的样子……

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

很软

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

一些聪明的家伙

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

好吧,回到它。

结束。