10月30日(第1天_字符串练习)

今天是第一天,主要练习字符串的使用。


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//2
if c%2==0:
    print(s[0:d]+' '+s[d:])
else:
    print(s[0:d+1]+' '+s[d+1:])
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值