在for循环中了解range()

时间:2018-07-12 12:34:42

标签: python

我只是在徘徊,如果我用range(len(string [i]))中的for字符串修改了for i的for循环,为什么该程序不起作用,我得到类型错误吗?

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'))

4 个答案:

答案 0 :(得分:3)

 for i in range(len(string)):
     result = result + lowerChar(string[i])

可以改写为:

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

答案 1 :(得分:2)

根据您的代码,这是一个简单的错误-您错过了右括号。使用这个:-

for i in range(0,len(string))

答案 2 :(得分:1)

您需要将range()括起来,即

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'))

答案 3 :(得分:1)

for i in range(N)表示该循环将执行N次,其中i取0到N-1的值。