Python 理解for循环中的range()
我只是想知道,如果我在rangelenstring[I]中修改for循环from for I,而在string中修改for I,为什么这个程序不起作用。我得到一个类型错误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
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'))