我要在姓名的第5个字母大写
注意:我只想使用.upper()方法“不使用大写()”
我尝试了这个但我得到IndexError:字符串索引超出范围
name = "Cristiano Ronaldo"
for t in range(0,len(name),5):
name = str(name)[t].upper()
print(name)
"".join([char.upper() if index > 0 and index % 5 == 0 else char for index, char in enumerate(name)])
您可以先将str
更改为list
:
l_name = list(name)
for i in range(0,len(l_name),5):
l_name[i] = l_name[i].upper()
result = ''.join(l_name)
name =“克里斯蒂亚诺·罗纳尔多”
print(''.join([ letter.upper() if (index+1) % 5 == 0 else letter for index,letter in enumerate(name)]))
[enumerate
方法,用于在循环时跟踪字符串中每个字母的索引,对于5的倍数,我们正在执行letter.upper()
否则letter
使用pythonic
方式:
name = "cristiano Ronaldo"
print(''.join([l if i%5 else l.upper() for i, l in enumerate(name, 1)]))