(python 3) 使用 raw_input() 时,为什么函数会在输入中添加“\n”?

问题描述

搜索了 Google 的第一页,但找不到答案。这不会发生在 int(raw_input()) 上,这很奇怪。但是如果我输入:

a = [raw_input() for i in range(int(raw_input()))]
print(a)

示例输入: 5 1 2 3 4 5

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

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

解决方法

Python3.x中集成了raw_input()input(),去掉了raw_input(),只保留了input()函数,接收任何输入,默认所有输入为字符串处理,返回字符串类型。

使用 Python2.7 时:

enter image description here

使用 Python3.8 时:

enter image description here

另外,如果在VS Code中使用python扩展以外的扩展进行调试,请尽量禁用,以免影响结果。

我的环境:

VS 代码:1.52.1(用户设置); 操作系统:Windows_NT x64; VS Code 扩展:Python;皮兰斯;

参考:What's new in Python3