为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

白衣染霜花 2022-06-02 11:30:21
我有一个字符串,我把它保存在一个变量中。我想更改偶数字符以使用 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()


查看完整回答
反对 回复 2022-06-02
  • 1 回答
  • 0 关注
  • 120 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信