我需要写一个函数来递归读取文件中的所有字符并附加到列表中。递归一直困扰着我,任何关于递归思考的技巧我都很欣赏。 下面是我写的打印列表字符的代码,没有递归
def newChar(usrFile,usrList):
for line in usrFile:
for c in line:
usrList.append(c)
print(usrList)
def main():
usrFile = open("input.txt",'r')
usrList = []
newChar(usrFile,usrList)
main()
结果:
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', ' ', 'p', 'r', 'i', 'n', 't', ' ', 'a', 'l', 'l', ' ', 't', 'h', 'e', 's', 'e', ' ', 'c', 'h', 'a', 'r', 'a', 'c', 't', 'e', 'r', 's', '.']
考虑递归的一种方法是尝试只解决问题的一小部分,然后想象递归调用“神奇地”解决了问题的其余部分。重要的是,当剩下的问题很难解决时,你必须考虑会发生什么;这称为基本情况
在这种情况下,我们可以在一个递归调用中解决的小问题是读取单个字符(字节)。如果文件中没有字符,则出现基本大小写;当这种情况发生时,您不向列表中添加任何内容,只返回您已经建立的内容
这个想法可以实现如下
输出
相关问题 更多 >
编程相关推荐