猿问

我在 python 中遇到字符串和 for 循环的问题

我有一个字符串,我把它保存在一个变量中。我想更改偶数字符以使用 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```


白衣染霜花
浏览 145回答 1
1回答

胡子哥哥

我假设您对编程很陌生,因此请使用以下 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()
随时随地看视频慕课网APP

相关分类

Python
我要回答