我有一个字符串,并将其保存在变量中。 我想更改字符以大写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```
答案 0 :(得分:0)
我假设您是编程的新手,所以请使用以下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)
,其中i
是从0开始的索引,而c
是name
的字符。 / p>
如果您对代码更满意,可以使用列表推导并按以下方式加入结果:
>>> ''.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()