Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为一个月中给定的第一天查找一周中的某一天_Python_Algorithm_Date_Math_Formula - Fatal编程技术网

Python 为一个月中给定的第一天查找一周中的某一天

Python 为一个月中给定的第一天查找一周中的某一天,python,algorithm,date,math,formula,Python,Algorithm,Date,Math,Formula,如果我们知道一个月中第一天的天数,如何计算一周中的一天? 假设我们一周有1到7天 我想得到一个月中第四天的数字,如果第一天=5(星期五),那么结果应该是1(星期一) (a=4,b=5)=1 我试着计算一个普通的公式: result = (a + b - 1) % 7 所以它适用于所有情况,除了a=3,10,17,24,31的情况,因为结果=0,但应该是7。 如何修复该公式,使其在所有天都有效?您需要避免结果为零。这里有一个方法: result = (a + b - 2) % 7 + 1 你

如果我们知道一个月中第一天的天数,如何计算一周中的一天? 假设我们一周有1到7天 我想得到一个月中第四天的数字,如果第一天=5(星期五),那么结果应该是1(星期一)

(a=4,b=5)=1

我试着计算一个普通的公式:

result = (a + b - 1) % 7 
所以它适用于所有情况,除了a=3,10,17,24,31的情况,因为结果=0,但应该是7。
如何修复该公式,使其在所有天都有效?

您需要避免结果为零。这里有一个方法:

result = (a + b - 2) % 7 + 1
你从你的总和中再减去一,允许为零,并在前一天工作,然后取模7的余数得到可以包含零的一天,然后加一得到想要的一天并避免为零。请注意,在添加一个之前,运算顺序将完成模数运算。如果您想让它更明确,可以使用

result = ((a + b - 2) % 7) + 1

您需要避免结果为零。这里有一个方法:

result = (a + b - 2) % 7 + 1
你从你的总和中再减去一,允许为零,并在前一天工作,然后取模7的余数得到可以包含零的一天,然后加一得到想要的一天并避免为零。请注意,在添加一个之前,运算顺序将完成模数运算。如果您想让它更明确,可以使用

result = ((a + b - 2) % 7) + 1

你能不能有一个条件来检查result==0,那么你就知道它总是sundayNo我不能,它应该是一个不使用条件的公式,只返回范围为1..7的数字如果你的公式不能仅用于7个倍数,那么:
result=(a+b-1)%7或7
?你不能有一个条件来检查result==0,然后你知道它总是sundayNo我不能,它应该是一个不使用条件的公式,它只返回范围为1到7的数字,如果你的公式不适用于7的倍数,那么:
result=(a+b-1)%7或7
?Thx很多Rory-很好的解释Thx很多Rory-很好的解释