【问题标题】:(python 3) When using raw_input(), why does the function add "\n" to the input?(python 3) 使用 raw_input() 时,为什么函数会在输入中添加“\n”?
【发布时间】:2021-01-27 00:46:13
【问题描述】:

我搜索了 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)有关,但我不知道如何修复它。谢谢。

【问题讨论】:

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

标签: python visual-studio-code ide raw-input


【解决方案1】:

在Python3.x中,raw_input()input()被整合,raw_input()被移除,只保留input()函数,它接收任何输入,默认所有输入为字符串处理,返回字符串类型.

使用Python2.7时:

使用Python3.8时:

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

我的环境:

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

参考:What's new in Python3

【讨论】:

  • 你是山羊。这是因为新的 python 更新。谢谢
猜你喜欢
  • 2017-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多