5道趣味Python热身题,帮你渡过国庆假期综合征

长假7天是不是好久没有碰代码了,编程和练武功一样,拳不离口,曲不离手。不经常写,手就会生。而且Python的技巧和方法特别多,很琐碎,如果是新手很容易忘记,只有通过大量的练手才能熟悉掌握!明天就要上班了,我为大家准备了一道Python热身菜,希望大家动手敲敲,快速恢复功力

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

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

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

1).小白解法:

2).熟手解法:

3).大神解法

巧妙的利用推导列表和列表里面的pop,一箭双雕、

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).大牛解法

def accm(chars):return'-'.join(c.upper+c.lower()*iforiinenumerate(chars))

04.推导一个数组

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

1).小白解法:

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

3).大牛解法

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

05.字符天平秤

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

Example:

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

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

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

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

1).小白的解法:


如果你也在学习Python,苦于没有一个完整的教程,在学习的过程当中遇见问题无法解答,那么我推荐你可以加下我的vx:Pythonxx 我有在微信建立了一个Python零基础的训练营,打卡学习,作业辅导,有问必答,欢迎初学者和进阶者加入我们。

2).大神解法

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

以上题目都是来自小密圈的小伙伴的刷题中的一小部分,大家一起来练手一下,快速熟悉代码,不然明天上班了,写代码就手生啦!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容