10月30日(第1天_字符串练习)
来源:互联网 发布:go并发编程实战完整版 编辑:程序博客网 时间:2024/05/17 09:02
今天是第一天,主要练习字符串的使用。
1. 输入一个整数(表示donuts的数量),返回一个字符串,格式如下:’Number of donuts: (count)’,其中 (count)是传入的参数。但是,如果值大等于10,则使用“many”代替实际的数值。所以:输入 donuts(5) 返回 ‘Number of donuts: 5’,输入 donuts(23) 返回 ‘Number of donuts: many’
解答:
def donuts(count): if int(count)>=10: count = 'many' print('Number of donuts:'+ count) else: print('Number of donuts:{}'.format(count))donuts(2)
2. 输入一个字符串 s,返回由字符串的最前面两个字母和最后两个字母组成的字符串。例如:’spring’返回’spng’,’is’ 返回’is’。当输入的字符串长度小于2时,返回空字符串。
解答:
def first_last_str(s): if len(s) < 2: return() elif len(s) == 2: return(s) else: return(s[0:1]+s[-2:-1])first_last_str('sti')
3. 输入一个字符串s, 返回满足以下条件的字符串:找出与字符串的第一个字母相同的字母,把它们替换成’*’,除了第一个字母本身以外
例如: 输入’babble’, 返回’ba**le’。
(提示:使用 s.replace(stra, strb) 函数,可以将字符串 s 中的所有 子字符串stra 替换为 子字符串strb)。
解答:
def same_replace(s): d = s[0] c = s.replace(s[0],'*') return(d+c[1:])same_replace('strrsing')
4. 输入字符串 a 和 b, 返回添加以下条件的字符串:(1)使用空格把两个字符串分隔后合并成一个字符串;(2)交换两个字符串的最前面的两个字母;(3)字符串 a 和 b 的长度都大等于2。
解答:
def deal_a_b(a,b): if len(a)>=2 and len(b)>=2: s = a[0:2]+b[2:] t = b[0:2]+a[2:] print(s,t) else: print(a,b)deal_a_b('string','China')deal_a_b('C','Strint')
5. 输入一个字符串,返回满足以下条件的字符串:(1)如果字符串长度大等于3,添加’ing’到字符串的末尾;(2)如果字符串是以’ing’结尾的,就在末尾添加’ly’;(3)如果字符串长度小于3,返回原字符串。
解答:
def string_practice(s): if len(s)>=3: if s.endswith('ing'): print(s+'ly') else: print(s+'ing') else: print(s)string_practice('string') #如果函数中的print用return就只返回一个 string_practice('strtrtrtr')
6. 输入一个字符串,返回满足以下条件字符串:(1)找到字符串中的子串 ‘not’ 和 ‘bad’;(2)如果 ‘bad’ 出现在 ‘not’ 后面,就把 ‘not’ … ‘bad’ 之间包含的所有字符串替换成 ‘good’.
解答:
def not_good_bad(s): if 'not'in s and 'bad'in s: a = s.index('not') b = s.index('bad') if a<b: s = s[0:a]+'good'+s[b+3:] return(s)not_good_bad('snotghbad')
7. 考虑把一个字符串拆分成两个等分:(1)如果字符串长度是偶数,前一半和后一半的长度是相同的;(2)如果字符串长度是奇数,则多出的一个字符加到前一半,如:’abcde’,前一半是’abc’,后一半是’de’。
解答:
s = 'strings'c = len(s)d = c//2if c%2==0: print(s[0:d]+' '+s[d:])else: print(s[0:d+1]+' '+s[d+1:])
- 10月30日(第1天_字符串练习)
- 10月31日(第2天_列表的使用)
- 11月02日(第4天_八皇后、递归(因数分解、阶乘))
- 11月01日(第3天_回纹数、直方图和质数)
- 10月11日练习
- 1月30日——培训第59天
- 12月1日——培训第10天
- 2017年5月17日_第一篇博客
- 作业练习(11月5日)
- 2017年第5周(1月30日2月5日)总结
- 11月30日——培训第9天
- 12月24日——培训第30天
- 12月10日——培训第18天
- 3月10日——培训第76天
- 2015年07月15日第10天笔记
- 1月3日——培训第35天
- 1月4日——培训第36天
- 1月5日——培训第37天
- LiteOS之任务管理
- bzoj1426 [收集邮票] 期望概率DP进阶
- 在 SSM 框架整合 Shiro 的相关案例
- poj2229动态规划
- datagird实现混有数字的字符串排序
- 10月30日(第1天_字符串练习)
- mysql密码的重置,数据库的备份和还原;
- HTML、CSS学习-标签(一)
- 快速查询分区表各个分区的记录数
- Oc 正则表达式~详解 03 (实现代码)
- 利用for循环,完成二级菜单
- 利用caffe.proto生成caffe.pb.h
- gcd
- TCP连接探测中的Keepalive 和心跳包