2

好吧,我现在真的在努力解决这个问题,我们将不胜感激。

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

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

想法?

4

1 回答 1

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
于 2013-11-03T23:09:16.877 回答