python - 任何人都可以为什么此代码返回“无效语法”错误吗?
问题描述
在我目前在 Python 3 中做的一个项目中,我必须做的任务之一是接受多行输入并将其放入一个列表中,每一行输入本身都在列表中(我分隔不同输入的方式;我格式化稍后将它们放入所需的数据类型中,但这超出了此问题的范围);我使用以下代码实现了这一点:
inputs = []
i = input()
while i != '':
inputs.append([s for s in i.split(" ")]
i = input()
# example for this code:
# An input such as
# "3 7 5 9
# 2 4 6 8
# 2 1 4 5"
# would end up with inputs = [["3", "7", "5", "9"], ["2", "4", "6", "8"], ["2", "1", "4", "5"]]
当我完整运行代码时,我得到了错误:(
line 38 i = input() ^ SyntaxError: invalid syntax
指的i = input()
是循环内部。)
谁能向我解释为什么会发生这种情况?
解决方案
你在这里错过了一个密切的括号:
inputs.append([s for s in i.split(" ")]
^ opened here ^ oops, append paren never closed
通常,当一条明显很细的行声称具有SyntaxError
时,问题几乎总是前一行上的未闭合分隔符对(通常是括号)。
推荐阅读
- nearprotocol - 找不到命令“附近”
- c++ - 加载 HDR 纹理 Vulkan 的问题
- scala - 多次连接后 Spark 数据集无法解析列
- java - JavaFX 更新画面
- unity3d - 第一次按下转义时光标不可见,但随后的所有时间都是
- javascript - 如何仅使用 ChartjsPluginStacked100 javascript,没有打字稿
- spring - 我应该使用 Traefik 的 GZIP 压缩还是服务器的压缩?
- abaqus - Abaqus 显示具有不同缩放比例的轴
- python - 如何从输入中获取整数列表(不带引号)并在函数中使用它来计算数字
- java - 防止不当输入处理攻击