Skip to main content
 首页 » 编程设计

python之从字符串转换为 int python 的麻烦

2025年05月04日13开发

我正在研究这个编码难题,必须将字符串中的一些数字转换为整数才能使用它们。一个例子是

('2 -5 7 8 10 -205') 

我尝试做的是将数字添加到一个空字符串中,并在有空格时将它们转换为 int。这是代码。

n 是数字串的长度 num 是我添加数字的空字符串。最初是 num=""

  while i<n: 
 
    if temps[i]!=' ': 
        num=num+temps[i] 
 
 
    elif temps[i]==' ': 
        print type(num) 
 
        x=int(num) 

问题是当它运行时我得到一个错误,x=int(num) 行说

ValueError: invalid literal for int() with base 10: '' 

当我打印 num 时,我只得到字符串格式的数字,所以我不明白哪里出了问题。非常感谢您的帮助,如果您有任何问题或需要澄清,请询问。

谢谢

请您参考如下方法:

使用 str.split() 在空格处拆分字符串,然后将 int 应用于每个元素:

s = '2 -5 7 8 10 -205' 
nums = [int(num) for num in s.split()]