Python:每日一题 81

2017-11-27 14:37:00
六月
来源:
http://bbs.fishc.com/thread-94760-1-1.html
转贴 570
$
题目:

写一个函数 increment_string(string)

  1. $def increment_string(string):
  2.         pass
复制代码


函数将有一个参数string,并且它是一个字符串如果字符串已经以数字结束,那么这个数字应该增加1。如果字符串不以数字结尾,就在字符串string结尾加一个 1 返回处理过的字符串

For example:

  1. >>>  increment_string('This is an example!')
  2. #'This is an example!1
  3. increment_string('MSK是帅锅~6')
  4. #MSK是帅锅~7
  5. '
复制代码






答案:

您是VIP用户,您可免回复查看本帖隐藏的内容

楼主解法:

  1. import re

  2. def increment_string(strng):
  3.         a = re.findall('d+

  4. 如果要处理的是形如 'AB99C99'这样的字符串
  5. 需要处理的是末尾的字符串数字99,对于之间的99不进行处理
  6. 匹配末尾数字,返回一个列表:

  7. 接下来将末尾数字+1
  8. 楼楼使用的是replace方法

  9. 因为replace是从左到右查找,所以楼楼先将字符串颠倒,使用replace后,在将字符串进行一次颠倒
  10. [/hide],strng)
  11.         if a:
  12.                  str_num = a[0]
  13.                  return '%s%d' % (strng[::-1].replace(str_num,'',1)[::-1],int(str_num)+1)
  14.         return '%s%d' % (strng,1)
复制代码


如果要处理的是形如 'AB99C99'这样的字符串
需要处理的是末尾的字符串数字99,对于之间的99不进行处理
匹配末尾数字,返回一个列表:

接下来将末尾数字+1
楼楼使用的是replace方法

因为replace是从左到右查找,所以楼楼先将字符串颠倒,使用replace后,在将字符串进行一次颠倒
发表评论
评论通过审核后显示。