【问题标题】:Having problem with multiple input inpython [closed]python中的多个输入有问题[关闭]
【发布时间】:2021-04-21 09:32:22
【问题描述】:

实际上,我对这种输入有疑问。你能告诉我如何以正确的方式做到这一点吗?TNX 这是我的代码:

x,y,z=int(input()).split(" ")

但它显示此错误:

以 10 为底的 int() 的无效文字:

【问题讨论】:

  • 这个程序的输入是什么?请查看minimal reproducible exampleHow to Ask 页面如何帮助我们帮助您。
  • 请注意,int(input()).split(" ") first 尝试将整个输入解析为 单个 intthen 尝试在空格上分割整数——这两者都没有意义。您应该使用map(int, input().split(" "))map(int, input().split())
  • 这能回答你的问题吗? Get a list of numbers as input from the user

标签: python input


【解决方案1】:

这是最接近您想要实现的工作示例(您需要对列表中的每个单独项目进行整数转换):

x,y,z = (int(num) for num in input().split(" "))

但是,其他评论者建议使用map 将是首选方式。此外,根据您在哪里使用它,您可能希望清理/验证您的输入 - 如果输入包含 2 个数字,您希望发生什么? 4个数字?不是数字的值?

【讨论】:

    【解决方案2】:

    我认为您正在尝试从标准输入读取 3 个空格分隔的整数。

    您正在尝试在代码中拆分一个 int,但这是行不通的。

    您必须拆分输入,然后将单个项目转换为 int。

    请看下面的代码,

    inputs = input().split(" ")
    x = int(inputs[0])
    y = int(inputs[1])
    z = int(inputs[2])
    

    您可以使用地图并在一行中完成此操作,

    x,y,z = map(int, input().split(" "))
    

    【讨论】:

      【解决方案3】:
      x, y, z = map(int, input().split(" "))
      

      【讨论】:

      • 你是对的,更新了
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多