Python3 基础提高: 做练习题巩固语法

1.输入一个字符串,例如:s = "abcd\nefgh\nijkl\nmnop" ,以\n 为分割点,对各个部分的字符进行反转,对各个部分进行反转

效果如下:

vert_mirror(s) => "dcba\nhgfe\nlkji\nponm" 

hor_mirror(s) => "mnop\nijkl\nefgh\nabcd"

代码:

s = "abcd\nefgh\nijkl\nmnop"


def vert_mirror(s):                                                     
...: return '\n'.join(line[::-1] for line in s.split('\n'))              #  for line in s.split('n') 对字符串s,以\n为分割的分段,进行反转,然后,再join合起来


 def hor_mirror(s):
...: return '\n'.join(s.split('\n')[::-1])                                    # 先对字符串s进行split,然后将整个字符串进行反转,然后再join合并起来
a = vert_mirror(s),hor_mirror(s)
print(a)

 
2.给定一个小写字符串,没有空格,将偶数索引和奇数索引的字母大写,并返回如下所示的值。索引0也会被考虑。
 
For example, capitalize("abcdef") = ['AbCdEf', 'aBcDeF']. 
 
代码:
str = 'AbCdEfG'
def capitalize(s):
    s = ''.join(c if i%2 else c.upper() for i,c in enumerate(s))              # enumerate() 函数获取字符串s的序号和值,偶数字符不变,基数字符变成大写,然后将所有字符join起来
    return[s, s.swapcase()]                                                                # 返回字符串,和swapcas()函数,将字符大小全部调换过的值
m=capitalize(str)
print(m)
 
3.将学校的课程名,进行排序,不区分大小写
 
代码:
c=['English', 'Geometry', 'History','Algebra']

def sorter(textbooks):
    return sorted(textbooks,key=str.lower)                                        # sort排序,对列表进行操作,不生成新对象。sorted对可迭代对象进行操作,生成新对象
a=sorter(c)                           # key:用列表元素的某个属性和函数进行作为关键字。

                             # 在这里,就是拿每个元素的小写属性(str.lower)作为关键字来比较 进行排序

print(a)

4.

一个单词,的字母如abde,下标,a为1,b为2,d为3,e为4.  假设某个字母,下标+97和ascii码表里 字母和数字的对应关系相等,则符合要求。给一个单词,求里面有几个字母符合要求。

 

代码:

def solve(arr):
...: return [ sum(c == chr(97+i) for i,c in enumerate(w[:26].lower())) for w in arr]
...: test=['abide','xyz']
...: a=solve(test)
...: print(a)

 

转载于:https://www.cnblogs.com/xieyabox/p/7822060.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值