python3 no.6 字符串的查找与替换

#!/usr/bin/env python3
'''
题目:
创建三个函数:
 函数1, 从指定字符串里从前面查找指定单个字符
  函数2, 从指定字符串里从后面开始查找指定单个字符
  函数3, 输入两个字符串(一个要替换的, 二个被替换的), 从指定字符串里面进行替换

  (不能用string.*find()或string.*index函数和方法
'''


def showmenu():
    welcome = '''
        (s)tart find
	(e)nd find
	(r)ep find
	(q)uit
	'''
    print(welcome)



def findstart():
    while True:
        findstring = input('Input a string:')
        if len(findstring) < 1:
            print('Error input.)')
        else:
            break
    print('stringdata: ', stringdata)
    findstring = findstring[0]
    print('findstart:', findstring)
    if findstring in stringdata:
        index_string = 1
        for check in stringdata:
            if findstring == check:
                break
            else:
                index_string += 1
        print('return:', index_string)
    else:
        print('return: None' )




def findend():
    while True:
        findstring = input('Input a string:')
        if len(findstring) < 1:
            print('Error input.)')
        else:
            break
    print('stringdata: ', stringdata)
    findstring = findstring[0]
    print('findend:', findstring)
    if findstring in stringdata:
        index_string = -1
        for i in range(1, len(stringdata)+1):
            if findstring == stringdata[-i]:
                break
            else:
                index_string -= 1
        print('return:', index_string)
    else:
        print('return: None' )
    
def repfind():
#全部替换
    global stringdata
    #引入全局变量, 进行必要修改
    print('database_string: ', stringdata)
    repstring = input('Input two string(A rep to B):').strip()
    repstring = repstring.split()
    if len(repstring) == 2:
    #先分割, 再连接split-->join, 用指定字符分割, 再用指定字符连接
        newstringdata = stringdata.split(repstring[0])
        stringdata = repstring[1].join(newstringdata)
        print('now the new stringdata: ', stringdata)
    else:
        print('Error, you must input two string.')

#if __name__ == '__main__':
#    showmenu()

cmd = {'s':findstart, 'e':findend, 'r':repfind}

stringdata = input('Input stringdatabase:')
while True:
    showmenu()
    try:
        choose = (input('Input you choose:')).strip()[0].lower()
    except:
        print('Error, continue.')
        continue
    if choose in 'ser':
        cmd[choose]()
    else:
        if choose == 'q':
            print('Bye')
            break
        else:
            print('You input error.')
            input()




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值