python - 如何使用 vsc 在 python 的同一行中接受多个整数?
问题描述
我运行了一个代码(在 vsc 中),其目的是找到大数的最后一位。我只提供相关的代码片段。
a,b=map(int,input().split())
aa=list(map(int,str(a)))
bb=list(map(int,str(b)))
这会在 vsc 终端中生成以下错误:
Shaons-Air:VSC shaon$ python -u "/Users/shaon/Desktop/VSC/last.py"
4 3
Traceback (most recent call last):
File "/Users/shaon/Desktop/VSC/last.py", line 17, in <module>
a,b=map(int,input().split())
File "<string>", line 1
4 3
SyntaxError: unexpected EOF while parsing
解决方案
从您写的内容来看,我怀疑Python 的input()
函数引发了一个EOFError
,并且我怀疑它与运行 Python 的 VSC-u
选项有关,该选项告诉 Python 不要缓冲来自标准输入的数据。(顺便说一句,在错误发生之前知道你在 Python 提示符中输入了什么会很有帮助。)
无论如何,如果我在你的位置,接下来我要问的两个问题是:
首先,当您绕过 VSC 并在 Windowscmd
提示符下直接从 Python 运行 Python 脚本时会发生什么?这也给你一个nexpected EOF
吗?
cd Users\shaon\Desktop\VSC
python -V rem Check the version number while we're here.
python -u last.py
python
当您在没有该-u
选项的情况下运行时,它有什么不同(如果有的话) ?
其次,当你用一个简单的回显循环替换你的代码并从 VSC运行它时会发生什么?这就是我所说的“简单回声循环”:
while True:
msg = input() # Type your numbers here, or ctrl-c to exit the loop.
print(msg)
如果我的怀疑是正确的,你会发现当你直接从 Python 运行你的代码时它可以工作,当你使用该选项运行它时会失败 (带有 EOFError) ,并且当你从 VSC 运行 echo 循环时你会得到一个 EOFError . 在这种情况下,您可能会尝试说服 VSC 在没有选项的情况下以某种方式运行 Python。但是让我们看看会发生什么。 -u
-u
推荐阅读
- linux - 如何按时间和大小删除子文件夹中的所有文件
- r - R中泊松随机变量生成的改进逆变换方法
- angular - How can I trigger validations for inputs in ReactiveForms?
- r - Manipulate string from command line argument
- c# - Accessing external parameters/values within HttpClientFactory definition in ASP.NET core
- javascript - How to map from API call to params in getStaticPaths?
- typescript - How to write chained dynamic object properties in Typescript?
- linux - How to directly access kernel data for processes?
- javascript - React Native - FlatLists re-renders memoized components (React.memo not working)
- node.js - axios is returning an object instead of an array