python输出字符串中序号为偶数的字符_关于python:遍历字符串中的每个字母,偶数索引为大写,奇数索引为小写...

我的作业要求我遍历字符串中的每个字母,偶数索引为大写,奇数索引为小写。 它应该保留所有标点符号或数字不变,并且应该以偶数索引更改每个字母的大小写。 这意味着,如果字母最初是大写字母,则应将其转换为小写字母。

例如:mock(" Abcd。Efgh .. Ijkl!")将返回" abCd。efGh .. IJkL!"。 偶数索引字母(A,C,E,g,j,l)更改大小写,其他所有字符均保持不变。

我试图交换它,并尝试拆分它们并重新加入字符串。 但是我无法使它工作。

def mock(word):

index = 0

result = ''

swap = word.swapcase()

for letter in swap:

if index % 2 == 0:

result += letter.upper()

else:

result += letter.lower()

index += 1

return result

我们使用a_str =" Abcd。Efgh .. Ijkl!"测试了您的代码。 我们期望模拟返回str" abCd。efGh .. IJkL!"。 但是,它返回了str" aBcD。eFgH .. IjKl!"。

您的代码当前已使其具有奇数索引的字母变为小写而具有偶数索引的字母变为大写。

如果只希望偶数索引上的字母从小写变为大写,或从大写变为小写,则应使用以下方法:

def mock(word):

index = 0

result = ''

for letter in word:

if index % 2 == 0:

if letter.isupper():

result += letter.lower()

else:

result += letter.upper()

else:

result += letter

index += 1

return result

您在每个字符而不是每个字母之后增加索引。 其中包括标点符号,空格,数字之类的字符。

您需要添加条件语句,然后使用isalpha()函数递增索引:

If letter.isalpha()

Index += 1

另外,您需要添加另一个条件语句来检查偶数字母是否已经大写,以便您切换大小写。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值