You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Pythonista输入多行时报错?与VSCode输入行为差异解析

问题原因与解决方案

原因分析

VSCode的终端会逐行处理输入内容,批量粘贴多行文本时,终端会将每行依次分配给对应的input()调用。但Pythonista的输入逻辑不同——它会把你一次性输入的所有多行文本,全部传递给第一个input()函数。

你的代码中,第一个input()本应只读取第一行的5 4,拆分后赋值给n和m。但在Pythonista里,这个input()拿到了全部5行内容,拆分后得到的元素数量远超过2,直接触发了“too many values to unpack (expected 2)”的错误。

解决方案

改用一次性读取全部输入的方式,避免依赖逐行的input()调用,代码示例:

import sys

# 读取所有输入并按行拆分
all_lines = sys.stdin.read().splitlines()
# 处理第一行的n和m
n, m = map(int, all_lines[0].split())
# 处理后续n行生成矩阵
matrix = [list(map(int, line.split())) for line in all_lines[1:n+1]]

如果不想导入sys模块,也可以手动控制输入流程:在Pythonista中先输入第一行5 4并回车,再依次输入后续每行内容,这样每个input()会拿到对应的单行数据,行为就和VSCode一致了,但这种方式在批量输入时效率较低,更推荐上面的批量读取方案。

内容的提问来源于stack exchange,提问作者pedro1798

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 07:29:53