问题描述
我的目标是编写函数将字符串作为参数,例如“Nisa”并返回“N1I2S3A”。但是我写的代码只适用于只有三个字符的字符串。如何概括所有字符串的代码?如果您能帮助我,我将非常感激,因为我是 Python 的初学者。 代码如下:
tested_str = str(input("Enter a name: "))
def strPattern(mystr):
while tested_str:
if len(mystr) == 1:
return mystr.upper()
else:
return (mystr[0] + str("1") + mystr[1:len(mystr) - 1:1].upper() + str("2")
+ mystr[-1]).upper()
strPattern(mystr=tested_str)
解决方法
这是真正的pythonic方式:)
tested_str = str(input("Enter a name: "))
def str_pattern(mystr):
return ''.join([f'{c}{i}' for i,c in enumerate(mystr.upper(),1)])
str_pattern(tested_str)
,
,
这可以帮助我相信。
tested_str = str(input("Enter a name: "))
def strPattern(mystr):
output=[]
for i,c in enumerate(mystr):
if i != 0:
output.append(str(i))
output.append(c.upper())
return "".join(output)
print(strPattern(mystr=tested_str))