星期几换算(Python)

题目描述

星期几换算

今天是周六,又到了可以休息的日子了,7天后又会是一个周六。请你帮忙计算下,n(n为整数,可以是正也可以为负)天后会是星期几呢?

输入格式:

输入天数

输出格式:

输出星期几

输入样例1:

8

输出样例1:

星期日

输入样例2:

-2

输出样例2:

星期四


解题思路

要计算 n n n 天后是星期几,我们可以使用取模运算。

首先,将输入的天数 n n n 7 7 7 取模,即 n % 7 n\%7 n%7 。这样可以将天数转换成一个 [ 0 , 6 ] [0,6] [0,6] 的数字,表示相对于当前星期几的偏移量。

接下来,我们需要考虑当前是星期几。假设今天是星期 x x x ,那么在计算 n n n 天后的星期时,只需要将 x x x 与偏移量相加,并再次取模 7 7 7 即可,即 ( x + n ) % 7 (x+n)\%7 (x+n)%7

那为什么不是 x + ( n % 7 ) x+(n\%7) x+(n%7) 呢?因为如果 x + ( n % 7 ) x+(n \% 7) x+(n%7) 的结果 ≤ 7 \leq7 7 ,那么这个结果就代表 n n n 天后的星期几。如果结果大于 > 7 >7 >7 ,还需要将结果减去 7 7 7 ,直到结果小于 7 7 7 为止,显然这样麻烦了许多。

根据输入的天数 n n n 的正负不同,可以得到不同的结果。对于正数,可以得到 [ 0 , 6 ] [0,6] [0,6] 之间的数字,分别代表星期日到星期六。对于负数,可以得到 [ − 6 , 0 ] [-6,0] [6,0] 之间的数字,同样也代表星期日到星期六(负数表示倒退的天数)。

需要注意的是,这个题目假设了今天是周六。如果输入的示例中给定的是其他星期几作为起始点,那么需要相应地调整代码中的current_day的值。


Python代码实现

def calculate_weekday(n):
    # 星期列表
    days_of_week = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]
    
    # 假设今天是星期六 (对应列表中的索引值为6)
    current_day = 6

    # 计算n天后的星期索引
    future_day = (current_day + n) % 7

    return days_of_week[future_day]

# 输入天数
n = int(input())

# 调用函数
result = calculate_weekday(n)

# 输出计算结果
print(result)
  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值