请你实现一个简单的字符串替换函数。原串中需要替换的占位符为"%s",请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数。则将剩下的参数字符添加到字符串的结尾。
给定一个字符串A,同时给定它的长度n及参数字符数组arg,请返回替换后的字符串。保证参数个数大于等于占位符个数。保证原串由大小写英文字母组成,同时长度小于等于500。
请你实现一个简单的字符串替换函数。原串中需要替换的占位符为"%s",请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数。则将剩下的参数字符添加到字符串的结尾。
给定一个字符串A,同时给定它的长度n及参数字符数组arg,请返回替换后的字符串。保证参数个数大于等于占位符个数。保证原串由大小写英文字母组成,同时长度小于等于500。
"A%sC%sE",7,[B,D,F],3
"ABCDEF"
# -*- coding:utf-8 -*- class StringFormat: def formatString(self, A, n, arg, m): B,i,j='',0,0 while i<n: if A[i]=='%' and A[i+1]=='s':#遇到占位符时,A的下标前进两位,B的下标前进一位 B=B+arg[j] i+=2 j+=1 else:#不是占位符则A的下标前进一位 B=B+A[i] i+=1 if m>j:#参数列表字符数大于占位符个数,则将剩下的参数字符添加到字符串的结尾 B=B+''.join(i for i in arg[j:]) return B
class StringFormat: def formatString(self, A, n, arg, m): # write code here a = A.count('%s') if a < m: arg_head = tuple(arg[:-(m - a)]) arg_tail = arg[-(m - a):] current = A % arg_head + ''.join(arg_tail) return current else: return A % tuple(arg)