中文星期几&十二时辰

156 篇文章 3 订阅

输入年月日输出中文星期败,输入时间字符串,输出十二时辰。


(笔记模板由python脚本于2023年12月16日 23:39:04创建,本篇笔记适合熟悉python字符串类型str,并可以熟练应用的coder翻阅)


【学习的细节是欢悦的历程】


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


等风来,不如追风去……


输入年月日输出中文星期几
星期几&十二时辰
(输入时间字符串,输出十二时辰)


本文质量分:

96

本文地址: https://blog.csdn.net/m0_57158496/article/details/135039842

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ 星期几&十二时辰
    • 1、题目描述
    • 2、算法解析
      • 2.1 星期几
      • 2.2 十二时辰
    • 3、完整源码(Python)



◆ 星期几&十二时辰


1、题目描述


  • 题目描述截屏图片

    中文星期几
    在这里插入图片描述

    十二时辰
    在这里插入图片描述

题目来源于 CSDN 问答社区提问“星期几&十二时辰



回页目录


2、算法解析


  本题目算法简单,很容易理解。用python字符串str和列表list处理,轻轻松松地就可以完成题目解析。

  • 用为本篇笔记的题目写的函数来“搞”一下当前日期、时间
    在这里插入图片描述
    效果,看起来是准确无误的😋😋

Python代码


strdate = lambda x=localtime: f"{x()[0]}{x()[1]}{x()[2]}{':'.join(map(lambda i: f'{i:0>2}', x()[3:6]))}" # 格式化当前日期时间。


if __name__ == '__main__':
    t = localtime()
    date = t[:3]
    time = ':'.join(map(str, t[3:5]))
    print(f"\n{f' {strdate()} ':~^37}\n\n\n{f' 今天是{myWeekday(date)} ':^34}\n\n\n{f' 现在是{timeChar12(time)}时 ':~^35}")

2.1 星期几


  calendar.weekday方法返回的是星期几的整型int数值,我觉得不够中国。我用lambda搂了一个myWeekday单行匿名函数,让返回的星期几是中文字符,直接返回“星期X”。


  • 代码运行效果截屏图片
    在这里插入图片描述
    在这里插入图片描述

Python代码


myWeekday = lambda x: f"星期{dict(zip('0123456', '一二三四五六日')).get(str(weekday(*x)))}" # 单行匿名函数lambda定义自己的中文字符星期几。


date = map(int, input(f"\n输入(如2023 12 16):\n\n{'':>6}_").strip().split())
print(f"\n输出:\n{'':>7}{myWeekday(date)}")



回页目录



2.2 十二时辰


  • 解析:

      按我的“设计”,23时会得到12,下标溢出。23时后第二凌晨1时前都是子时,与0时同是子时,所以当h是23时,令其为0。
    在这里插入图片描述

  • 代码运行效果截屏图片
    在这里插入图片描述
    在这里插入图片描述



Python代码


def timeChar12(time):
    h = int(time.split(':')[0]) # 取输入小时数值。
    timeChar = '子丑寅卯辰巳午未申酉戌亥'
    
    if h == 23:
        h = 0

    return timeChar[(h+1)//2]

if __name__ == '__main__':
    time = input(f"\n输入24小时制时间(如22:14):\n\n{'':>18}_").strip()
    print(f"\n{'':>19}{timeChar12(time)}时")



回页目录


3、完整源码(Python)

(源码较长,点此跳过源码)

#!/sur/bin/nve python
# coding: utf-8
from calendar import weekday
from time import localtime


# 2、十二时辰 #
def timeChar12(time):
    h = int(time.split(':')[0]) # 取输入小时数值。
    timeChar = '子丑寅卯辰巳午未申酉戌亥'
    
    if h == 23:
        h = 0

    return timeChar[(h+1)//2]

if __name__ == '__main__':
    time = input(f"\n输入24小时制时间(如22:14):\n\n{'':>18}_").strip()
    print(f"\n{'':>19}{timeChar12(time)}时")


#1、 星期几 #

myWeekday = lambda x: f"星期{dict(zip('0123456', '一二三四五六日')).get(str(weekday(*x)))}" # 单行匿名函数lambda定义自己的中文字符星期几。


date = map(int, input(f"\n输入(如2023 12 16):\n\n{'':>6}_").strip().split())
print(f"\n输出:\n{'':>7}{myWeekday(date)}")


strdate = lambda x=localtime: f"{x()[0]}{x()[1]}{x()[2]}{':'.join(map(lambda i: f'{i:0>2}', x()[3:6]))}"


if __name__ == '__main__':
    t = localtime()
    date = t[:3]
    time = ':'.join(map(str, t[3:5]))
    print(f"\n{f' {strdate()} ':~^37}\n\n\n{f' 今天是{myWeekday(date)} ':^34}\n\n\n{f' 现在是{timeChar12(time)}时 ':~^35}")



回页首


上一篇:  随机拆分红包金额(随机拆分给定金额为给定个数红包,像微信、QQ、支付宝随机红包那种,要求红包总金额绝对与给定金额相等)
下一篇: 



我的HOT博:

  本次共计收集289篇博文笔记信息,总阅读量44.72w。数据采集于2023年12月11日 23:07:13,用时5分11.8秒。阅读量不小于4.0k的有17篇。

    • 3
      点赞
    • 2
      收藏
      觉得还不错? 一键收藏
    • 打赏
      打赏
    • 2
      评论

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

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

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    梦幻精灵_cq

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

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

    余额充值