实验四 字符串与正则表达式

4.1 字符串相关操作
1. 统计所输入字符串中单词的个数 , 单词之间用空格分隔。其运行效果如下图所示。
s=input('请输入字符串:')
print('其中的单词总数有:',s.count(' ')+1)
2. 编写程序 , 给出一个字符串 , 将其中的字符 “E” 用空格替换后输出。
x=input('请输入字符串:')
x1=x.replace('E',' ')
print(x1)
3. 从键盘交互式输人一个人的 18 位的身份证号 , 以类似于 “2001 09 月 12 的形式输出该人的出生日期。
a=input('请输入一个18位的身份证号:')
list1=list(a)
for i in range(0,18):
    a=list1[6]
    b = list1[7]
    c = list1[8]
    d = list1[9]
    e = list1[10]
    f = list1[11]
    g = list1[12]
    h = list1[13]
print(a,b,c,d,'年',e,f,'月',g,h,'日')
a=input('请输入一个18位的身份证号:')
list1=list(a)
print(''.join(map(str,list1[6:10:1])),'年',''.join(map(str,list1[10:12:1])),'月',''.join(map(str,list1[12:14:1])),'日')

#map(function, iterable, …),返回列表。即将function作用于iterable的每一个元素,结果以列表的形式返回。
#' '.join():字符串操作函数,用于字符连接。
4. 将字符串 'abcdefg' 使用函数的方式进行倒序输出
def daoxu(x):
    x.reverse()
    a=''.join(map(str,x))
    return a
s='abcdefg'
h=list(s)
print(daoxu(h))
def daoxu(list1):
    b = []
    for i in range(6,-1,-1):
        c=list1[i]
        b.append(c)
    s=''.join(map(str,b))
    return s
a='abcdefq'
list2=list(a)
print(daoxu(list2))
5. 在我们的生活中 , 节假日的问候是必不可少的 , 请使用字符串格式化的方式写一个新年问候语模板.
s=input('请输入姓名')
print(str.format('{0}新年快乐!',s))
6. 用户输入一个字符串 , 将下标为偶数的字符提出来合并成一个新的 字符串 A, 再将下标为奇数的字符提出来合并成一个新的字符串 B, 再 将字符串 A B 连接起来并输出。
a=input('请输入字符串:')
b=a[0::2]
c=a[1::2]
print(b+c)
a=input('请输入字符串:')
list1=list(a)
b=len(list1)
c=list1[0:b+1:2]
d=list1[1:b+1:2]
e=''.join(map(str,c))
f=''.join(map(str,d))
print(e+f)
a=input('请输入字符串:')
list1=list(a)
def oushu(x):
    b=len(x)
    c=x[0:b+1:2]
    e=''.join(map(str,c))
    return e
def jishu(y):
    b=len(y)
    d=y[1:b+1:2]
    f=''.join(map(str,d))
    return f
print(oushu(a)+jishu(a))



a=input('请输入字符串:')
def oushu(x):
    b=x[0::2]
    return b
def jishu(y):
    c=y[1::2]
    return c
print(oushu(a)+jishu(a))
7. 请根据下列需求 , 编写一个程序。用户输入一个字符串,请将字符 串中的所有字母全部向后移动一位,最后一个字母放到字符开头, 最后将新的字符串输出。
a=input('请输入字符串:')
list1=list(a)
list1.reverse()
b=list1.pop(0)
list1.reverse()
list1.insert(0,b)
m=''.join(map(str,list1))
print('新的字符串为:',m)
8. 基于 input 函数,对输入的字符串进行处理,并将返回替换了某些 字符的字符串,规则如下
如果一个字母是大写辅音,请将该字符替换为 “Iron”
如果字母是小写辅音或非字母字符,则对该字符不执行任何操 作
如果一个字母是大写元音,请将该字符替换为 “Iron Yard”
如果一个字母是小写元音,请用 “Yard” 替换该字符。
法一:
s=input('请输入字符串:')
def replace(string):
    res=""
    vowel='aeiou'
    for i in string:
        if i in vowel:
            res += 'Yard'
        elif i in vowel.upper():
            res +='Iron Yard'
        elif i.isupper():
            res +='Iron'
        else:
            res +=i
    return res

print(replace(s))
法二:
s=input('请输入字符串:')
def replace(string):
    return "".join(("Iron"*c.isupper()+"Yard"*(c.lower() in "aeiou")).strip() or c for c in string)
print(replace(s))

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值