codewar 代码练习1——8级晋升7级

article/2025/11/11 15:26:37

最近发现一个不错的代码练习网站codewar(http://www.codewars.com)。注册了一个账号,花了几天的茶余饭后时间做题,把等级从8级升到了7级。本文的目的主要介绍使用感受及相应题目,可供大家参考。

 

新人注册为8级,入门题NO.1:

topic: Multiply

instructions:The code does notexecute properly. Try to figure out why.

my solution:

 

def multiply(a, b):c = a * breturn c


NO2:

 

topic: ListFiltering

instruction:In this kata you will create a function that takes a list of non-negative integers and strings and returns a new list with the strings filtered out. 

example:

my solution:

 

def filter_list(l):new_l =[]for x in l:if type(x) != str:new_l.append(x)return new_l

best practice from others:

 

 

def filter_list(l):'return a new list with the strings filtered out'return [i for i in l if not isinstance(i, str)]

and

 

 

def filter_list(l):'return a new list with the strings filtered out'return [x for x in l if type(x) is not str]

 

 

No.3

topic:two to one

instruction:Take 2 strings s1 and s2 including only letters from ato z. Return anew sorted string, the longest possible, containing distinct letters,each takenonly once - coming from s1 or s2.

 

Examples: 

``` a = "xyaabbbccccdefww" b ="xxxxyyyyabklmopq" longest(a, b) -> "abcdefklmopqwxy"

a = "abcdefghijklmnopqrstuvwxyz" longest(a, a) ->"abcdefghijklmnopqrstuvwxyz" ```

my solution:

 

import string
from pandas import Series
def longest(a,b):c1 = a + bc2 = list(c1)c3 = Series(c2)c4 = c3.unique().tolist()c5 = sorted(c4)c6 = ''.join(c5)return c6

best solution from others:

 

 

def longest(a1, a2):return "".join(sorted(set(a1 + a2)))


No.4

 

topic:Categorize New Member

instruction:The Western Suburbs Croquet Club has two categories of membership,Senior and Open. They would like your help with an application form that willtell prospective members which category they will be placed.

 To be a senior, a member must be at least 55 years old and have ahandicap greater than 7. In this croquet club, handicaps range from -2 to +26;the better the player the lower the handicap.

example:

my solution:

 

def openOrSenior(data):a = []for i in data:if i[0]>54 and i[1]>7:a.append('Senior')else:a.append('Open')return a


best solution from others:

 

 

 

 

def openOrSenior(data):return ["Senior" if age >= 55 and handicap >= 8 else "Open" for (age, handicap) in data]


No.5

 

topic: Array.diff

instruction:your goal in this kata is to implement an difference function, which subtracts one list from another.

example:

 

my solution:

 

 

def array_diff(a, b):diff = []for i in a:if i not in b:diff.append(i)return diff

 

 

best solution from others:

 

def array_diff(a, b):return [x for x in a if x not in b]


No.6

 

topic:Mumbling

instruction:This time no story, no theory.

example:

my solution:

 

def accum(s):b = list(s)i = 0for j in b:b[i] = b[i] * (i+1)i = i+1a = list(map(lambda x: x.capitalize(),b))c = '-'.join(a)return c

best solution from others:

 

 

def accum(s):return '-'.join((a * i).title() for i, a in enumerate(s, 1))

 

 

No.7

topic:Multiples of 3 or 5
instruction:If we list all the natural numbers below 10 that are multiples of 3or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.Finish the solution so that it returns the sum of all the multiplesof 3 or 5 below the number passed in.

note:If the number is a multiple of both 3 and 5, only count it once.

my solution:

 

def solution(number):a = []j = 3 while j<number:if j%3==0 or j%5==0:a.append(j)j = j + 1return sum(a)

best solution from others:

 

 

def solution(number):return sum(x for x in range(number) if x % 3 == 0 or x % 5 == 0)

 


在8级的时候,做7级题甚至6级题,能快速升级到7级。知识点总结:

 

 

1. type和instance判断数据类型

2. 遍历list的方法,list切片知识,如何读取两个list中的非交集

3. str转list,list转series数据,array转list(array.tolist()),字母如何排序(sorted)

4. set 函数(创建一个无序不重复元素集)

5. 改变字符串的首字母:capital,upper,lower,title

6. join连接字符,split分割字符串

7. 枚举函数enumerate,例如枚举list中的索引和元素

8. 如何跳出嵌套循环(写个def,用return)

9. try和except的使用

10. lambda函数使用

 

感受:

8级到7级的晋升路上,主要涉及的python的数据结构相关的基础知识点。而python的数据结构知识是在一年前学习的,零零落落已经忘得差不多了,做题目的时候基本靠谷歌知识点。在codewar做题的时候,貌似答案没有通过,是无法看到其他人的答案的。在通过答案后,再看其他人的解法,常常有眼前一亮的感觉。








 

 

 

 

 

 

 

 


http://chatgpt.dhexx.cn/article/jQjvnMfe.shtml

相关文章

codewar 代码练习2——7级晋升6级

7级晋升到6级的过程中以做6级题以及以前未完成的题目为主&#xff0c;一般选择算法题或者基础题。相比之前从8级升级7级&#xff08;参见此博客&#xff1a;http://blog.csdn.net/m0_37324740/article/details/78408249&#xff09;的难度有所提前&#xff0c;并且一些题目结合…

R数据分析,codewar的年终总结,和一周年总结

前阵子单位各个部门都在要求弄总结&#xff0c;想想自己这个公众号也写了快一年了&#xff0c;专门回去翻了翻&#xff0c;这个公众号发布的第一篇文章是在2021年的1月17日&#xff0c;我想2022年的1月17日我就把现在敲的文字推出来吧&#xff0c;也算是一个年终和周年总结。 …

CodeWar题目

打算把不同网站上面的题目分开整理&#xff0c;免得麻烦。Code War上面我还是刷了一堆6级及以下的题目的&#xff0c;不过价值不大&#xff0c;这种不太能够训练实际解决问题的能力&#xff0c;所以我已经很久没上过了&#xff0c;有时间了可能会重新上去刷题吧&#xff0c;到时…

Codewar 笔记

1. Weight for weight 题目&#xff1a; For example 99 will have “weight” 18, 100 will have “weight” 1 so in the list 100 will come before 99. Given a string with the weights of FFC members in normal order can you give this string ordered by “weights”…

codewar刷题,苦海造舟之始

今天又是被惨虐的一天&#xff0c;尽管今天是我这篇处女座发布的日子。   事情是这样的&#xff0c;身为一个刚迈步进入编程领域的小白&#xff0c;在无忧无虑&#xff0c;轻松惬意的心情下刷完了一套python课后&#xff0c;偶然间&#xff0c;很突然地了解到codewars这么个玩…

Codewar一些积累No.2 从矩阵的加法体会vector的用法

用代码实现矩阵加法问题 最近在Codewar上看到一个有趣的问题是关于矩阵的加法问题. 题目中, 我所要编写的函数的传入参数是两个向量, 而且此向量是嵌套的, 具体内容如下: std::vector<std::vector<int> > matrixAddition(std::vector<std::vector<int> …

Java到底好不好学

Java到底好不好学 答案是&#xff1a;不难学。很多人都以为编程是个很高深的东西&#xff0c;其实不然&#xff0c;真正学习了你会发现编程比你高中学的数理化要简单的多。说它不难呢&#xff0c;如果学深入了&#xff0c;还算有很多东西要学习&#xff0c;比如你学Java&#…

java面试为何那么难

java面试为何那么难 “面试造火箭、工作拧螺丝”&#xff0c;曾经这么一句调侃的话总是用来形容IT行业中的面试情况。作为一个流浪的程序猿&#xff0c;多年以来作为应聘者也好、面试官也罢&#xff0c;渐渐感受到java开发的面试不再仅仅在“造火箭”那么容易。 我的就职历程…

java面试为何那么难?

“面试造火箭、工作拧螺丝”&#xff0c;曾经这么一句调侃的话总是用来形容IT行业中的面试情况。作为一个流浪的程序猿&#xff0c;多年以来作为应聘者也好、面试官也罢&#xff0c;渐渐感受到java开发的面试不再仅仅在“造火箭”那么容易。 五年前的java面试是怎么样的 用HT…

女生学java开发难吗?女生适合学java吗?

女生学java开发&#xff1f;Java开发看上去是一项系统性很强、入门很难的“高大上”学科&#xff0c;前端、代码这些普通人基本不会接触到的名词&#xff0c;吓怕了众多初学者。大部分人对于Java程序员都有一个既定印象&#xff0c;那就是程序员都是男生。女程序员可以说是“稀…

自学java难吗?给java初学者的一些建议。

自学java到底难不难&#xff1f; 其实学习java说难不难&#xff0c;说简单也不简单。如今互联网十分发达&#xff0c;各种学习资料&#xff0c;视频&#xff0c;文档都可以在网上找到。可以说如今是一个全民自学的时代&#xff0c;你要你有决心和时间&#xff0c;足不出户便能…

java编程难学吗?

java是一门面向对象编程语言&#xff0c;不仅吸收了C语言的各种优点&#xff0c;还摒弃了C里难以理解的多继承、指针等概念&#xff0c;因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表&#xff0c;极好地实现了面向对象理论&#xff0c;…

初学者的困境,Java自学难吗

Java自学起来难吗&#xff1f;动力节点小编告诉你&#xff0c;虽然Java适合新手入门&#xff0c;但是难度不能算简单哦&#xff0c;毕竟也是一门知识体系比较多的技术知识。在学习Java编程时&#xff0c;您会遇到一些简单的概念&#xff0c;如变量和函数。但也有更抽象、复杂的…

学python和java哪个难?,java和python哪个难学

java和python哪个好学 ①python比Java简单&#xff0c;学习成本低&#xff0c;开发效率高;②Java运行效率高于python&#xff0c;尤其是纯python开发的程序&#xff0c;效率极低;③Java相关资料多&#xff0c;尤其是中文资料;④Java版本比较稳定&#xff0c;python2和3不兼容导…

该说不说,Java面试是真的难

作为一名优秀的程序员&#xff0c;技术面试都是不可避免的一个环节&#xff0c;一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识。 如果你参加过一些大厂面试&#xff0c;肯定会遇到一些这样的问题&#xff1a; 1、看你项目都用的框架&#xff0c;熟悉…

java到底难在哪里?

作为一个已经上岸和还不错的程序员来说&#xff0c;java到底难在哪里&#xff0c;在我看来可能难在坚持吧&#xff0c;毕竟过程是难熬的&#xff0c;毕竟走出了新手村. 今天我把读者自学上岸并成功入行的经验分享给大家&#xff0c;希望能帮助到大家。他自学的时候经常来咨询我…

java到底有多难

74%的人认为不难 有人曾经做过统计&#xff0c;询问500多已经参加工作的 Java开发者&#xff0c;“学习java是否困难&#xff1f;”有74%的人认为不难&#xff0c;说难学的仅占26%&#xff0c;那么这74%全部都是聪明人&#xff0c;智商比普通人高吗&#xff1f;显然不是的。 …

自学Java难吗?别在听一些人说了

总听到一些人在说自学Java有多难多难&#xff0c;确实&#xff0c;Java不是那么容易能够掌握的语言&#xff0c;可自己都没有尝试学过&#xff0c;就只听别人的一面之词&#xff0c;岂不是要错过这门前途似锦的开发语言了。 自学难&#xff0c;其实跟你的学习能力&#xff0c;…

自学java难吗?给java初学者的一些建议

自学java到底难不难&#xff1f; 其实学习java说难不难&#xff0c;说简单也不简单。如今互联网十分发达&#xff0c;各种学习资料&#xff0c;视频&#xff0c;文档都可以在网上找到。可以说如今是一个全民自学的时代&#xff0c;你要你有决心和时间&#xff0c;足不出户便能…

学java难不难?java应该怎么学?

学java到底难不难&#xff0c;对于这个问题&#xff0c;我们专门做过一个调查&#xff0c;超过1000名已经在职的java从业者&#xff0c;其中有80%的程序员觉得学java不难&#xff0c;20%的程序员觉得前期有点难&#xff0c;其中对于50%自学的新手认为java很难学&#xff0c;遇到…