2013-11-03 78 views
2

好的,我现在正在努力解决这个问题,一些帮助将不胜感激。切片和if语句(Python)

基本上说,如果我有这样2013(年份) 值我想提取132013,我知道该怎么做,通过: int(str(y)[2::])

但是我想可能使用如果声明(?)确认数字上的最后两个数字不是0 s,如果它们是,如2000,那么我必须忽略它。

想法?

回答

5

你会测试100的倍数:

if y % 100 > 0: 
    somevar = y % 100 

甚至只是

if y % 100: 
    somevar = y % 100 

,因为数字0是在布尔上下文假的。

可避免两次计算剩余:

remainder = y % 100 
if remainder: 
    somevar = remainder 

这使用%运营商,它给你的剩余,比你int(str(y)[2:])迂回的方法更加有效的方法:

>>> 2000 % 100 
0 
>>> 2013 % 100 
13