我有一个字符串,我把它保存在一个变量中。我想更改偶数字符以使用 for 循环大写。所以我给我的偶数字符并大写。但我不能把它们带上奇怪的字符。有人能帮我吗?这是我的代码:name = "mohammadhosein">>> for even in range(0, len(name), 2):... if(even % 2 == 0):... print(name[even].title(), end=' ')...M H M A H S I >>>>>> ###### I want print it like this:MoHaMmAdHoSeIn```
1 回答
胡子哥哥
TA贡献1825条经验 获得超6个赞
我假设您对编程很陌生,因此请使用以下 for 循环:
name = "mohammadhosein"
output = ''
for i, c in enumerate(name):
if i % 2 == 0:
output += c.upper()
else:
output += c
# output will be 'MoHaMmAdHoSeIn'
enumerate将为您提供一对(i, c)wherei是索引,从 0 开始,并且c是name.
如果您对代码感觉更舒服,您可以使用列表推导并加入结果,如下所示:
>>> ''.join([c.upper() if i % 2 == 0 else c for i, c in enumerate(name)])
'MoHaMmAdHoSeIn'
正如@SimonN 所建议的,您只需要对代码进行一些小改动:
for index in range(0, len(name)):
if(index % 2 == 0):
print(name[index].upper(), end='') # use upper instead of title it is more readable
else:
print(name[index], end='')
print()
添加回答
举报
0/150
提交
取消