#5.1切片
# 利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
def trim(s):
if(s[:1]==" "):
s=s[1:]
s=trim(s)
elif(s[-1:]==" "):
s=s[:-1]
s=trim(s)
return s
try:
print('.'+trim(1)+'.')
except TypeError:
print('请输入str型')
#5.2迭代
# 请使用迭代查找一个list中最小和最大值,并返回一个tuple:
def findMinAndMax(L):
if L == []:
return (None,None)
else:
return (min(L),max(L))
Lists = range(12)
print(findMinAndMax(Lists))
#5.3列表生成式
# 如果list中既包含字符串,又包含整数,由于非字符串类型没有lower()方法,所以列表生成式会报错:
#
# >>> L = ['Hello', 'World', 18, 'Apple', None]
# >>> [s.lower() for s in L]
# Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
# File "<stdin>", line 1, in <listcomp>
# AttributeError: 'int' object has no attribute 'lower'
#
# 使用内建的isinstance函数可以判断一个变量是不是字符串:
#
# >>> x = 'abc'
# >>> y = 123
# >>> isinstance(x, str)
# True
# >>> isinstance(y, str)
# False
#
# 请修改列表生成式,通过添加if语句保证列表生成式能正确地执行:
L2 = [s.lower() for s in L1 if isinstance(s,str)]
【廖雪峰python3.0】-课后习题:第5章:高级特性
最新推荐文章于 2020-10-30 22:53:15 发布