python - 这段代码可以缩短吗?带有表情符号的自定义时间状态
问题描述
我正在尝试创建一个自定义状态,您可以在其中实时查看时间,以及指示同一时间的时钟表情符号,我已经做到了,而且它很实用,但我想知道是否有任何方法缩写此代码,还是已经尽可能高效?谢谢
import time
emoji = ""
emojis = ["", "", "", "", "", "",
"", "", "", "", "", "",
"", "", "", "", "", "",
"", "", "", "", "", ""]
while True:
hour= time.strftime('%H:%M:%S')
hm = int(time.strftime('%I')) + int(time.strftime('%M'))/100
if 1 <= hm < 1.30:
emoji = emojis[0]
elif 1.30 <= hm < 2:
emoji = emojis[1]
elif 2 <= hm < 2.30:
emoji = emojis[2]
elif 2.30 <= hm < 3:
emoji = emojis[3]
elif 3 <= hm < 3.30:
emoji = emojis[4]
elif 3.30 <= hm < 4:
emoji = emojis[5]
elif 4 <= hm < 4.30:
emoji = emojis[6]
elif 4.30 <= hm < 5:
emoji = emojis[7]
elif 5 <= hm < 5.30:
emoji = emojis[8]
elif 5.30 <= hm < 6:
emoji = emojis[9]
elif 6 <= hm < 6.30:
emoji = emojis[10]
elif 6.30 <= hm < 7:
emoji = emojis[11]
elif 7 <= hm < 7.30:
emoji = emojis[12]
elif 7.30 <= hm < 8:
emoji = emojis[13]
elif 8 <= hm < 8.30:
emoji = emojis[14]
elif 8.30 <= hm < 9:
emoji = emojis[15]
elif 9 <= hm < 9.30:
emoji = emojis[16]
elif 9.30 <= hm < 10:
emoji = emojis[17]
elif 10 <= hm < 10.30:
emoji = emojis[18]
elif 10.30 <= hm < 11:
emoji = emojis[19]
elif 11 <= hm < 11.30:
emoji = emojis[20]
elif 11.30 <= hm < 12:
emoji = emojis[21]
elif 12 <= hm < 12.30:
emoji = emojis[22]
elif 12.30 <= hm < 13:
emoji = emojis[23]
print(f"{emoji} {hour}")
time.sleep(1)
解决方案
我会对指数有所了解,但是以下方法有一些改进。
import time
emojis = ""
while True:
hour= time.strftime('%H:%M:%S')
hm = int(time.localtime().tm_hour + time.localtime().tm_min / 30 + 0.5)
print(f"{emojis[hm]} {hour}")
time.sleep(1)
推荐阅读
- image - 如何缓存 MVC Core 导航栏徽标图像
- python - 如何在python中垂直分割形状文件?
- javascript - 用于在 React Native Metro 捆绑器中使用动态纱线工作区路径将节点模块列入黑名单的正则表达式
- python-3.x - 根据范围用同一列中的非空值填充 Pandas 列中的空值
- django - django-rest-auth 注册/account-confirm-email/ 如何使用它来验证用户
- php - 通过匹配相同的外键组合2个数组
- python - Docker - 无法运行 Jupyter 笔记本 - KeyError:'allow_remote_access'
- javascript - 来自 JQuery 的进度条,有没有办法将它从 0 移动到 100
- node.js - npm 包安装在意外位置
- c# - 在方阵中添加左对角线元素的程序