更多课程 选择中心


Python培训

400-111-8989

老司机解读新手如何提升python编程水平

  • 发布:奔跑的鳄鱼
  • 来源:菜鸟学Python
  • 时间:2018-05-08 11:59

你是python青年吗?我们在进入python这个领域的时候都会考虑:怎样才能提升自身编程技能,与万千资深程序员争一席之地呢?光看不练显然是不行的,多看多练是提升自身编程能力的重要途径,但是对于刚进入python领域的新手来说就显得很迷茫,不知从何入手去学去练,今天python培训班老司机就来耐心解决你这个困惑。

要点:

1、什么是Codewars

2、Codewars有什么好处

3、2道题的妙解

4、快速上手Codewars

01、Codewars是什么?

Codewars是一个代码解题网站,支持包括Python在内的多种编程语言。目前里面题目分为8个段位(等级),对应的用户段位也分为8级,其中起始段位为8,段位越高,段数越小。

不同等级的题目有不同的经验值,新入门的朋友可以通过刷一些难度适宜的题目循序渐进地学习,同时提升自己的段位,随着经验值和段位的提升还会陆续解锁一些新技能。

比如:讨论、评分、出题等等,需要注意的是,解决一个问题获得的经验值并不是固定的,还会受到代码提交次数、运行速度等因素的影响,所以在提交之前一定要把问题考虑周全,最好先在本地环境中跑一下。

02、Codewars妙用

作为一个优秀的代码练习网站,codewars带给我们的收获主要有以下三个方面:

1.巩固Python语言基础

codewars有着极其庞大的题库,涵盖了字符串、数字、图形、面向对象等方方面面的知识点,通过不断的练习和积累,有助于我们进一步巩固和掌握Python基础知识、学习map、reduce等高阶函数的运用。

老司机解读新手如何提升python编程水平

上图为codewars中的题库和分类,正所谓“看花容易绣花难”,很多细节问题只有自己动手写过才会留意,而督促大家自己动手凭空构建代码、巩固基础知识正是使用codewars的意义所在。

同时,codewars提供的经验模式和评分、讨论等互动性功能,会对用户产生一种正向反馈,这一点对刚入门的新手也是极其宝贵的。

2.改进Python代码质量

codewars有一个非常好的设计,就是在我们解题成功后可以查看其他人的代码,其中不乏非常精辟的解题思路和 精炼的代码风格。

这对于我们提高自身的代码质量、加深对Python语言的理解、拓展思维方式都是非常有益的。 别人的代码中也会有一些不足或缺陷,对于这些我们也要学会鉴别和避免。

03、举两道题的妙解

1.人名问题:

以固定格式给出一系列名字:[ {'name': 'Bart'}, {'name': 'Lisa'}, {'name': 'Maggie'} ],要求以“Bart, Lisa & Maggi”的格式输出:

如果只有两个名字,则以“Lisa & Maggi”的格式输出

如果只有一个名字,则以“Maggi”的格式输出

如果给出的名字列表为空,则返回空值('')

解体思路:

以给出的名字列表长度为依据,分类提取数据并拼接字符串

小白代码:

老司机解读新手如何提升python编程水平

上面的代码很成功的解决了这个问题,但是...会不会感觉代码太繁琐了?我们再来看下面一段代码。

高手示范:

老司机解读新手如何提升python编程水平

这段代码非常巧妙的利用了-1,从后往前提取列表,而不是传统的从前往后。

通过使用format和join函数,把代码长度缩短为原来的一半,代码质量和精简程度都发生了大幅提升。

在codewars中,当我们以自己的方式解决问题后再去学习别人的代码,体会会更加深刻,收获也会更大。

2.矩形分割问题

给出一个矩形,求该矩形最少能被分割成几个正方形,并以列表的格式返回各正方形的边长;如果给出的初始矩形本身就是正方形,则返回None。

例如:给出一个5×3的矩形,则返回[3, 2, 1, 1](下图):

老司机解读新手如何提升python编程水平

思路解析:

以长方形短边为基准切割正方形,剩余部分作为一个新的矩形继续处理。当然,如果剩下的部分是一个 正方形则将其纳入结果当中(而不是返回None)。

代码参考:

老司机解读新手如何提升python编程水平

上面这段代码是用了一个循环,也可以用递归调用来做,道理都是一样的。

在这个题目中,我们首先把一个几何问题(矩形)转换为数学问题(两个边的长度)

再把这个数学问题用 Python程序描述出来并予以解决。

当然,这个题目还是比较简单的,随着段位的提升将有更加复杂和好玩的题目等着我们,足够你挖掘和发挥自己的聪明才智。

04、快速上手Codewars

作为一个全英文网站,刚接触难免会有一点别扭,这里我结合自己的使用情况简单介绍一些基本的功能 。

1.注册

可以单独注册一个codewars账号,也可以关联其他社区账号(比如github),不过无论使用哪种方式,下面两步 是不可避免的。

选择语言:

这里我们当然选择Python啦,如果有兴趣也可以选择其他语言。

老司机解读新手如何提升python编程水平

注册测试:

比较特立独行的地方,codewars注册的时候居然需要解题(虽然非常的简单)。

老司机解读新手如何提升python编程水平

解题通过后就可以正常的注册操作了。(有人在这道题之后还会遇到一个涉及面向对象的题目,不过我没遇到)

2.选题

codewars中选择题目的方式主要有以下3种,非常详细和人性化,大家一起来看一些:

随机选题:

codewars会根据用户当前段位,从题库中随机选取难度相应的题目。如下图,进入主页后会显示出系 统选定的题目,如果想要解题就点击“TRAIN”按钮,如果想跳过换一道题就点选“SKIP”。

老司机解读新手如何提升python编程水平

段位选题:

如果想自己选择某个段位的题目,可以进入Kata页面手动点选。下图中我选中了段位5,在右侧就会列 出一堆相应段位的题目。

老司机解读新手如何提升python编程水平

类别选题:

同样是在Kata页面,可以根据题目的类别选择题目(可多选)。下图中我选择的题目类别 是“Strings”和“Arrays”,codewars会把同时涉及字符串和队列知识点的题目在右侧列出。

老司机解读新手如何提升python编程水平

3.查阅

在任意界面的右上角可以进行用户信息的相关操作,比如查看和修改个人信息、更改编程语言等,这里着重说一下 如何查询做过的题目:

点击右上角头像图标进入个人主页

然后进入solutions页面,可以看到以前做过的题目都在这里了

包括已经通过的题目(completed)、未完成的题目(unfinished)。

老司机解读新手如何提升python编程水平

恭喜你已经阅读完了本文,相信你从文中已经收获了去提高自己python编程能力的思路和方法,另外我们要学会将现实问题转化为数学问题,将数学问题用编程语言描述出来的,最后从程序设计的角度来思考解决问题的方式方法,同时要用好codewars网站,也许对我们这些python菜鸟来说还不错。如果你还有与python相关的问题或者是想要通过python培训进入python领域,欢迎你来达内python培训机构进行咨询。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:解码python,为什么它从众多编程语言中脱颖?
下一篇:达内Python培训机构4-5月就业喜报

怎样选择Python培训机构,才能让我的未来充满阳光?

考一考:python大数据与机器学习Matplotlib练习题十道

在Python面试中如何展现你的代码能力?

Python计算机二级考试,你能考过吗?

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省