Python读取迷宫文本文件后,如何逐个打印字符?嵌套循环参数疑问
解决Python遍历迷宫文件字符的问题
你的第二个for循环的range()里应该填入len(maze[i])——因为maze[i]对应文件中的每一行字符串,len(maze[i])能获取该行的字符总数,这样就能遍历该行的每个字符了。
修正后的基础版本代码:
file = open("maze.txt", "r") maze = file.readlines() for i in range(len(maze)): for j in range(len(maze[i])): # 用end=''避免自动换行,因为每行末尾本身带\n print(maze[i][j], end='') file.close()
更符合Python规范的写法是使用with语句(自动管理文件关闭,无需手动调用close()),同时可以简化循环逻辑:
with open("maze.txt", "r") as file: maze = file.readlines() for line in maze: # 直接遍历每行的字符,无需嵌套索引循环 for char in line: print(char, end='')
补充说明:
readlines()读取文件时,会把每一行(包括末尾的换行符\n)作为列表元素存入maze- 第二种写法直接遍历行和字符,比索引循环更简洁直观
- 设置
end=''是因为print()默认会输出换行,而每行本身已带有\n,不设置会导致每行之间多空行
内容的提问来源于stack exchange,提问作者Hugo Novais
相关产品推荐
相关产品推荐

