这两天后台收到一些读者朋友的消息,问我有没有字符串的实战项目,我仔细思考了一下,觉得对于入门的朋友来说,不仅需要熟悉字符串的实战项目,还应该掌握Python的其他两种数据类型——列表和字典。今天我就给大家介绍两个关于Python基本数据类型的实战项目。
1.字符串趣味实战
题目:替换1-20内的数字,3的倍数和5的倍数用不同的数字代替。列出1到20的数字,若是3的倍数就用apple代替,若是5的倍数就用orange代替,若既是3的倍数又是5的倍数就用appleorange代替。
代码思路:
第一种普通解法,循环1-20,然后用多个if/else进行判断:
def replace_num(i):
if i%3 == 0 and i%5 ==0:
return "banana"
if i%3 ==0:
return 'apple'
if i%5 ==0:
return 'orange'
else:
return i
for i in range(1,20):
print(replace_num(i))
第二种牛逼解法:巧妙的利用列表切片
'apple'[i%3*len('apple')::]+'orange'[i%5*len('orange')::]or i
先说一下这道题的这种解法,犹如天外有天,令人拍案叫绝!
慢动作分解1:
print ('apple'[1::])
>>'pple' 表示从第2个位置开始切片
慢动作分解2:
既然明白了上面的,来一个稍微复杂一点的
>>print ('apple'[1*5::])
为空
为啥因为