首页 > 解决方案 > 在 python 中使用加法运算符时,模运算符给出错误输出

问题描述

a = 0
n = 0
l = 0
while n <= 100:
    if(l+31+n % 7 == 0):
        a += 1
    elif(n % 4 == 0):
        l += 1
    elif(l+59+n % 7 == 0):
        a += 1
    elif(l+90+n % 7 == 0):
        a += 1
    elif(l+120+n % 7 == 0):
        a += 1
    elif(l+151+n % 7 == 0):
        a += 1
    elif(l+181+n % 7 == 0):
        a += 1
    elif(l+212+n % 7 == 0):
        a+=1
    elif(l+243+n % 7 == 0):
        a+=1
    elif(l+273+n % 7 == 0):
        a+=1
    elif(l+304+n % 7 == 0):
        a+=1
    elif(l+334+n % 7 == 0):
        a+=1
    elif(l+365+n % 7 == 0):
        a+=1
    n += 1 
print(a)

我试图找出一百年来一个月的第一天发生的星期天数(欧拉项目问题 19)。当我在 if 语句中包含加法运算符和模运算符时,我将得到错误的输出,而与我的语句是否成立无关。例如,我可以

l = 5
print(l+9 % 7 == 0)

尽管 l+9=14,我会收到错误的输出。有什么方法可以修复我的代码,使这些输出为真,或者我可以使用其他方法。

标签: python

解决方案


推荐阅读