字符串的两位数int和startswith()

时间:2017-04-05 16:40:13

标签: python python-2.7

所以,我有两位数以下的数字100.低于10 python不能处理它们开箱即用。我已经看到了许多不同的解决方案,但我很好将它们转换为strings,然后检查它是否以0开头。

下面的代码只是检查上述条件的示例测试,但是失败了:

num = 01
if str(num).startswith('0'):
    print 'yepp'
else:
    print 'nope'

我为这个例子不断得到“不”。为什么呢?

2 个答案:

答案 0 :(得分:1)

num不是字符串。这是一个整数。转换为字符串

时,整数1不以'0'开头

答案 1 :(得分:0)

整数值01不存在,它在Python 2.x中等于1,并且会在Python 3.x中产生一个SyntaxError。

<强>代码1:

>>> num = '01'
>>> if str(num).startswith('0'):
>>>     print('yepp')
>>> else:
>>>     print('nope')
yepp

<强>代码2

>>> num = 01
>>> if str(num).startswith('0'):
>>>     print('yepp')
>>> else:
>>>     print('nope')
File "<ipython-input-4-dafa449070e3>", line 1
  num = 01
         ^
SyntaxError: invalid token

<强> CODE3:

>>> num = 1
>>> if str(num).startswith('0'):
>>>     print('yepp')
>>> else:
>>>     print('nope')
nope