Python 以偶数索引为大写,奇数索引为小写,遍历字符串中的每个字母
我的家庭作业要求我遍历字符串中的每个字母,偶数索引为大写,奇数索引为小写。它应该保留任何标点符号或数字不变,并且应该在一个偶数索引中更改每个字母的大小写。这意味着如果字母最初是大写的,它应该转换成小写 例如:mock(“Abcd.Efgh..Ijkl!”)将返回“Abcd.Efgh..Ijkl!”。偶数索引字母(A、C、E、g、j、l)改变大小写,所有其他字符不变 我试着把它拆开,试着把它们分开,再把绳子接回去。但我无法让它工作Python 以偶数索引为大写,奇数索引为小写,遍历字符串中的每个字母,python,python-3.x,Python,Python 3.x,我的家庭作业要求我遍历字符串中的每个字母,偶数索引为大写,奇数索引为小写。它应该保留任何标点符号或数字不变,并且应该在一个偶数索引中更改每个字母的大小写。这意味着如果字母最初是大写的,它应该转换成小写 例如:mock(“Abcd.Efgh..Ijkl!”)将返回“Abcd.Efgh..Ijkl!”。偶数索引字母(A、C、E、g、j、l)改变大小写,所有其他字符不变 我试着把它拆开,试着把它们分开,再把绳子接回去。但我无法让它工作 def mock(word): 索引=0 结果=“” swap=w
def mock(word):
索引=0
结果=“”
swap=word.swapcase()
换文:
如果索引%2==0:
结果+=字母.upper()
其他:
结果+=字母.lower()
指数+=1
返回结果
我们使用a_str=“Abcd.Efgh..Ijkl!”测试了您的代码。我们希望mock返回str“abCd.efGh..IJkL!”。但是,它返回str“aBcD.eFgH..IjKl!”。可以在每个字符之后而不是每个字母之后增加索引。这包括标点符号、空格、数字等字符 在使用isalpha()函数递增索引之前,需要添加条件语句:
If letter.isalpha()
Index += 1
此外,您还需要添加另一个条件语句来检查偶数字母是否已经是大写,以便切换它们的大小写。您可以在每个字符后而不是每个字母后增加索引。这包括标点符号、空格、数字等字符 在使用isalpha()函数递增索引之前,需要添加条件语句:
If letter.isalpha()
Index += 1
此外,您还需要添加另一个条件语句来检查偶数字母是否已经是大写,以便切换它们的大小写。您的代码当前将其设置为使具有奇数索引的字母变为小写,而具有偶数索引的字母变为大写。 如果只希望偶数索引中的字母从小写改为大写或从大写改为小写,则应使用以下方法:
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
您的代码当前将其设置为使具有奇数索引的字母变为小写,而具有偶数索引的字母变为大写。 如果只希望偶数索引中的字母从小写改为大写或从大写改为小写,则应使用以下方法:
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