繁体   English   中英

在python中将字符串转换为int

[英]Converting string to int in python

a="1234"
for i in range(0,4):
            for k in range(i,4):
                s=int(a[i:k])
                print s

输出:

Traceback (most recent call last):
  File "C:/Python27/Solutions/test.py", line 4, in <module>
    s=int(a[i:k])
ValueError: invalid literal for int() with base 10: ''

谁能告诉我为什么我得到这个错误? 我只想打印:1 12 123 1234 2 23 234,依此类推...

>>> a= "1234"
>>> a[0:0]   # in slice if start and end is same you will get empty string
''
>>> int(a[0:0])
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: ''
>>> 

我想你想要这个吗?

>>> for i in range(3):
...     for k in range(i,4):
...         print int(a[i:k+1])
... 
1
12
123
1234
2
23
234
3
34

您收到此错误是因为循环的第一次迭代(i=0,k=0)需要a[0:0]='' (空字符串)。 字符和数字字符串可以转换为整数,但是空字符串不是字符或字符串。 没有字符。

如果要保护这种情况,则循环将随后采用a的子字符串(example '123', i=0, k=3)并且可以将其转换为整数123。其余情况应仅输出所需的整数精细。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM