Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 以偶数索引为大写,奇数索引为小写,遍历字符串中的每个字母_Python_Python 3.x - Fatal编程技术网

Python 以偶数索引为大写,奇数索引为小写,遍历字符串中的每个字母

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

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

例如:mock(“Abcd.Efgh..Ijkl!”)将返回“Abcd.Efgh..Ijkl!”。偶数索引字母(A、C、E、g、j、l)改变大小写,所有其他字符不变

我试着把它拆开,试着把它们分开,再把绳子接回去。但我无法让它工作

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