5道趣味Python热身题【新手必学】

01.将数组中的奇数进行排序

将一个数组里面的奇数的数进行重新排列,0不是奇数

例子:sort_array([5,3,2,8,1,4])==[1,3,2,8,5,4]

1).小白解法:

2).熟手解法:

3).大神解法

巧妙的利用推导列表和列表里面的pop,一箭双雕,另外注意“不管你是为了Python就业还是兴趣爱好,记住:项目开发经验永远是核心,如果你缺新项目练习或者没有python精讲教程,可以去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,里面很多新教程项目,还可以跟老司机交流讨教!”

02.判断密码PIN code

ATM机允许4或者6位数字,但是这4位或者6位只能是纯数字

比如:

validate_pin('1234')==True

validate_pin('12345')==False

validate_pin('a234')==False

validate_pin('-1.234')==False

1).小白解法

2).高手解法

defvalidate_pin(pin):

returnlen(pin) in(4,6) andpin.isdigit()

validate_pin('-1.234')

为啥高手的解法总是这么飘逸,简洁,感觉像是高手对战,一招制敌!

03.玩一玩字符串

给你几个字符串,按照下面的规则编写一个函数输出,指定格式的字符串:

accm("abcd") #A-Bb-Ccc-Dddd

accm("RqaEzty") #R-Qq-Aaa-Eeee-Zzzzz-Tttttt-Yyyyyyy

accm("cwAt") # C-Ww-Aaa-Tttt

1).小白解法

2).大牛解法

defaccm(chars):

return'-'.join(c.upper+c.lower()*i fori inenumerate(chars))

(代码可以左右滑动)

04.推导一个数组

给你数组的前三个数字后一个数字是前3个数字之和,要求返回前n个数字

1).小白解法:

2).熟手解法,用闭包+生成器来搞定

3).大牛解法

巧妙的利用了列表的切片和负数index

def tri2(nums_list,n):

res=nums_list[:n]

fori in range(n-3):

res.append(sum(res[-3:]))

returnres

tri2([0,0,1],10)

05.字符天平秤

每个问号(?)的权重是3,每个感叹号(!)的权重是2,把两个字符放左边,把两个字符放右边,看看它们是否平衡?

Example:

balance("!!","??")=="Right"

balance("!??","?!!")=="Left"

balance("!?!!","?!?")=="Left"

balance("!!???!????","??!!?!!!!!!!")=="Balance"

1).小白的解法:

2).大神解法

这个三目运算,让我一个大写的佩字

以上题目都是来自小密圈的小伙伴的刷题中的一小部分,另外注意:不管你是为了Python就业还是兴趣爱好,记住:项目开发经验永远是核心,如果你缺新项目练习或者没有python精讲教程,可以去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,里面很多新教程项目,还可以跟老司机交流讨教!

本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

 

5道趣味Python热身题【新手必学】

全文结束