切片和if语句(Python)

zah*_*ahz 2 python if-statement slice

好吧,我现在正在努力解决这个问题,一些帮助将不胜感激.

基本上,如果我有一个类似2013(年份)的值,我想通过以下方式提取13from 2013,我知道该怎么做: int(str(y)[2::])

但是我想使用if语句(?)来确认数字上的最后两个数字是不是0s,如果它们是,例如年份2000,那么我必须忽略它.

想法?

Mar*_*ers 5

你要测试100的倍数:

if y % 100 > 0:
    somevar = y % 100
Run Code Online (Sandbox Code Playgroud)

甚至只是

if y % 100:
    somevar = y % 100
Run Code Online (Sandbox Code Playgroud)

因为在布尔上下文中数字0是假的.

您可以避免两次计算余数:

remainder = y % 100
if remainder:
    somevar = remainder
Run Code Online (Sandbox Code Playgroud)

这使用%运算符,它为您提供余数,一种比int(str(y)[2:])循环方法更有效的方法:

>>> 2000 % 100
0
>>> 2013 % 100
13
Run Code Online (Sandbox Code Playgroud)