使用while循环在python中生成单词大写字母的替换字母

使用while循环在python中生成单词大写字母的替换字母,python,while-loop,Python,While Loop,我想为任何给定的单词替换字母大写。所以我创建了下面的函数。这是我上一个问题的进一步部分。我用for循环得到了一个答案。但我正在和while循环作斗争 def farrange(word): finaloutput = '' i = 0 while i < len(word): if i%2 == 0: finaloutput = finaloutput + word[i].upper() els

我想为任何给定的单词替换字母大写。所以我创建了下面的函数。这是我上一个问题的进一步部分。我用for循环得到了一个答案。但我正在和while循环作斗争

def farrange(word):
    finaloutput = ''
    i = 0
    while i < len(word):
        if i%2 == 0:
            finaloutput = finaloutput + word[i].upper()        
        else:
            finaloutput = finaloutput + word[i].lower()
        i = i + 1 
    return finaloutput
print(farrange("abc")

在本例中,我使用I作为循环变量,它的相同值作为单词中的索引。所以我觉得这应该行得通,但这一次,我只得到了第一个字母的答复。没有别的了。为了检查计数器是否未卡在while循环中,我将while条件更改为while i<3。但是没有用。它再次以a的形式返回输出。

我运行了您的代码和

print(farrange("abc"))


如果我正确理解了你的问题,那么你什么都不需要改变

除了由于在结尾处省略a而导致的语法错误,。您的代码正常工作,但在结尾处留下了括号。在发布问题之前,请运行并检查您的代码。它打印AbC!您的代码似乎是正确的。我运行这个:printfarrangeabcdfdsfhgg,我得到以下字符串:abcdfdsfhgg。您只是忘记了打印右括号。是否可能在实际代码中,您混淆了制表符和空格,或者在复制到堆栈溢出时意外修复了其他缩进错误?例如,如果返回finaloutput向右缩进了4个字符,那么您可能会遇到问题。请在发布重复答案之前检查评论。您好Rahul,我开始处理此问题时没有评论,但谢谢:
#AbC