我正试图通过按照以下模式重复邮件中的项目来格式化邮件:
message = '123'
pattern = '** *** **** * **'
预期输出:12 312 3123 1 23
下面是我当前的代码,但是输出:123 12 31 231 23
def main():
message = "123"
pattern = "** *** ** ** *"
print(patterned_message(message, pattern))
def patterned_message(message, pattern):
c = 0
res = ""
jstr = [x.strip(" ") for x in message]
for i in pattern:
if c == (len(jstr)):
c = 0
else:
if i == " ":
res += " "
else:
res += i.replace("*","{}".format(jstr[c]))
c += 1
return res
if __name__ == '__main__':
main()
您可以使用
itertools.cycle
作为生成器和小列表:输出:
'12 312 3123 1 23'
对于python学习者,这里有一种更经典的方法:
相关问题 更多 >
编程相关推荐