【廖雪峰python3.0】-课后习题:第5章:高级特性

#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)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值