Python 理解for循环中的range()

Python 理解for循环中的range(),python,Python,我只是想知道,如果我在rangelenstring[I]中修改for循环from for I,而在string中修改for I,为什么这个程序不起作用。我得到一个类型错误 def lowerChar(char): if ord(char) >= ord("A") and ord(char) <= ord("Z"): return chr(ord(char)+32) else: return char def lowerStr

我只是想知道,如果我在rangelenstring[I]中修改for循环from for I,而在string中修改for I,为什么这个程序不起作用。我得到一个类型错误

def lowerChar(char):

     if ord(char) >= ord("A") and ord(char) <= ord("Z"):
         return chr(ord(char)+32)
     else:
         return char

def lowerString(string):
     result = ""
     for i in range(len(string)):
         result = result + lowerChar(string[i])
         return result

print(lowerString('Hey There'))
可以改写为:

 for ch in string:
     result = result + lowerChar(ch)

您需要关闭范围周围的括号,即

测试时可以正常工作的完整缩进代码:

def lowerChar(char):

    if ord(char) >= ord("A") and ord(char) <= ord("Z"):
        return chr(ord(char)+32)
    else:
        return char

def lowerString(string):
    result = ""
    for i in range(len(string)):
        result = result + lowerChar(string[i])
    return result

print(lowerString('Hey There'))

根据你的代码,这是一个简单的错误-你错过了一个结束括号。使用以下命令:-


对于范围0中的i,范围N中的i的lenstring意味着循环将执行N次,i取0到N-1之间的值

直接在字符串上迭代时,循环变量是该字符串的字符。为字符串中的字符相应地重命名变量:这将有助于理解您的程序在做什么。另外,for定义中有一个语法错误:您缺少一个结束符。
for i in range(len(string)):
def lowerChar(char):

    if ord(char) >= ord("A") and ord(char) <= ord("Z"):
        return chr(ord(char)+32)
    else:
        return char

def lowerString(string):
    result = ""
    for i in range(len(string)):
        result = result + lowerChar(string[i])
    return result

print(lowerString('Hey There'))