(python 3)在使用raw_input()时,为什么函数要添加"\";输入数据?

(python 3)在使用raw_input()时,为什么函数要添加"\";输入数据?,python,visual-studio-code,ide,raw-input,Python,Visual Studio Code,Ide,Raw Input,我搜索了谷歌的第一页,但没有找到答案。对于int(raw_input())来说,这种情况不会发生。但如果我输入: a = [raw_input() for i in range(int(raw_input()))] print(a) 输入示例: 5. 1. 2. 3. 4. 五, 输出将是: ['1\n','2\n','3\n','4\n','5\n'] 我知道这与IDE有关(我运行VSCode),但我不知道如何修复它。谢谢。在Python3.x中,集成了raw\u input()和input

我搜索了谷歌的第一页,但没有找到答案。对于int(raw_input())来说,这种情况不会发生。但如果我输入:

a = [raw_input() for i in range(int(raw_input()))]
print(a)
输入示例: 5. 1. 2. 3. 4. 五,

输出将是: ['1\n','2\n','3\n','4\n','5\n']


我知道这与IDE有关(我运行VSCode),但我不知道如何修复它。谢谢。

在Python3.x中,集成了
raw\u input()
input()
,删除了
raw\u input()
,只保留了
input()
函数,该函数接收任何输入,将所有输入默认为字符串处理,并返回字符串类型

使用Python2.7时:

使用Python3.8时:

此外,如果在VS代码中使用python扩展以外的扩展进行调试,请尝试禁用它以避免影响结果

我的环境:

VS代码:1.52.1(用户设置); 操作系统:Windows\u NT x64; VS代码扩展:Python;高塔


参考:。

只需使用
int(input())
而不是
int(raw\u input())
。原始输入将返回所有详细信息,包括\n。这里还有更多信息@JoeFerndz谢谢,但这不是我的问题,int(raw_input())可以正常工作。但是raw_input()在今天的某个随机点开始向每个输入添加\n,而它以前从未这样做过。我需要使用raw_输入,因为它可以节省我提交CP的大量时间。我对raw_input的特殊用途不感兴趣,我正在研究如何修复这个bug。raw_input()将始终返回字符串值。如果需要integer,则需要将其转换为整数。顺便说一句,如果使用的是3.9或更高版本,则PEP 3111:raw_input()已重命名为input()。也就是说,new input()函数从sys.stdin中读取一行,并返回它,同时去掉尾随的换行符。如果输入过早终止,则会引发EOR。要获取input()的旧行为,请使用eval(input())。这是一种激励。这是因为一个新的python更新。谢谢