Python 为什么我会得到;ValueError:以10为基数的int()的文本无效;从用户输入?

Python 为什么我会得到;ValueError:以10为基数的int()的文本无效;从用户输入?,python,list,Python,List,用户必须输入n=2,然后对于markesheet,用户必须输入2个数字22 33 所需输出为[22,33] 我得到一个错误: ValueError:基数为10的int()的文本无效: 问题是,当用户输入22 23时,函数input()将尝试将整个字符串22 23解释为一个整数。但是显然,2223不是一个有效的整数,所以你会得到这个错误 因此,您需要修改markesheet的构造方式: n = int(input()) markesheet = [[ int(input()).split()] f

用户必须输入n=
2
,然后对于markesheet,用户必须输入2个数字
22 33

所需输出为
[22,33]

我得到一个错误:

ValueError:基数为10的int()的文本无效:


问题是,当用户输入
22 23
时,函数
input()
将尝试将整个字符串
22 23
解释为一个整数。但是显然,
2223
不是一个有效的整数,所以你会得到这个错误

因此,您需要修改
markesheet
的构造方式:

n = int(input())
markesheet = [[ int(input()).split()] for _ in range(n)]
print (markesheet)

问题是,当用户输入
22 23
时,函数
input()
将尝试将整个字符串
22 23
解释为一个整数。但是显然,
2223
不是一个有效的整数,所以你会得到这个错误

因此,您需要修改
markesheet
的构造方式:

n = int(input())
markesheet = [[ int(input()).split()] for _ in range(n)]
print (markesheet)

让我们考虑一下这里发生事情的顺序:

  • input()
    获取用户键入的字符串
  • int()。(给出ValueError,因为
    '22 33'
    作为整数没有意义,它是两个独立的数字)
  • .split()
    没有意义,也没有为int类型定义
相反,您可能希望这样:

  • input()
  • split()
    将该字符串拆分为较小字符串的列表
  • 将每个字符串转换为int
其代码如下所示:

n = int(input())
markesheet = [int(s) for s in input().split()[:n]]
print(markesheet)

让我们考虑一下这里发生事情的顺序:

  • input()
    获取用户键入的字符串
  • int()。(给出ValueError,因为
    '22 33'
    作为整数没有意义,它是两个独立的数字)
  • .split()
    没有意义,也没有为int类型定义
相反,您可能希望这样:

  • input()
  • split()
    将该字符串拆分为较小字符串的列表
  • 将每个字符串转换为int
其代码如下所示:

n = int(input())
markesheet = [int(s) for s in input().split()[:n]]
print(markesheet)

用户是否输入
n=2
或仅输入
2
?用户是否输入
n=2
或仅输入
2