python - 我正在 python 中显示时间,但它没有打印我想要的内容
问题描述
我的代码是:
import time
local_time = time.localtime()
time_string_d = time.strftime("%d", local_time)
time_string_m = time.strftime("%m", local_time)
time_string_y = time.strftime("%Y", local_time)
time_string_hm = time.strftime("%H:%M", local_time)
day_st = ['1', '21', '31']
day_nd = ['2', '22', '32']
day_rd = ['3', '23']
day_th = ['4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18',
'19', '20', '24', '25', '26', '27', '28', '29', '30']
def month():
if time_string_m == '1':
print('It is ' + time_string_hm)
print('January ', day())
if time_string_m == '2':
print('It is ' + time_string_hm)
print('February ', day())
if time_string_m == '3':
print('It is ' + time_string_hm)
print('March ', day())
if time_string_m == '4':
print('It is ' + time_string_hm)
print('April ', day())
if time_string_m == '5':
print('It is ' + time_string_hm)
print('May ', day())
if time_string_m == '6':
print('It is ' + time_string_hm)
print('June ', day())
if time_string_m == '7':
print('It is ' + time_string_hm)
print('July ', day())
if time_string_m == '8':
print('It is ' + time_string_hm)
print('August ', day())
if time_string_m == '9':
print('It is ' + time_string_hm)
print('September ', day())
if time_string_m == '10':
print('It is ' + time_string_hm)
print('October ', day())
if time_string_m == '11':
print('It is ' + time_string_hm)
print('November ', day())
if time_string_m == '12':
print('It is ' + time_string_hm)
print('December ', day())
else:
print('There was an error in the month detecting system.')
def day():
if time_string_d in day_st:
print('st')
if time_string_d in day_nd:
print('nd')
if time_string_d in day_rd:
print('rd')
if time_string_d in day_th:
print('th')
else:
print('There was an error in the day detecting system.')
我希望它打印以下内容:
它是(当前时间例如:14:20)
(当前月份例如:10 月,当天 + /st/nd/rd/th 例如 8th)
像这样:
It is 14:20
October 8th
此外,如果它失败,那么以下内容:
月份检测系统出错
或者
当天检测系统出现错误。
它实际打印出来的内容:
It is 14:20
There was an error in the day detecting system.
October None
There was an error in the month detecting system.
解决方案
例如,您应该使用单个if-elif-else
x = 1
if x == 1:
print(1)
elif x == 2:
print(2)
else:
print("else")
将打印1
,同时
x = 1
if x == 1:
print(1)
if x == 2:
print(2)
else:
print("else")
1
然后将打印,else
因为它有 2 个 if 语句 - if 和 if-else。elif
如果您想了解更多阅读链接文档,您可以在单个 if 语句中使用 0 或多个s。
推荐阅读
- c++ - 在模板类中设置动态构造函数参数的方法
- r - 尝试在 R 中捕获 SQL 语句
- typescript - 具有联合类型(字符串和函数)的接口索引签名
- spring - 用于注入静态变量的 Lombok setter
- c# - 如何使用 LINQ 进行分组然后平均
- jwt - 如何使用 Oauth2 使 API 网关无状态以进行身份验证/授权过程?
- javascript - jQuery click 在点击时不显示微调器
- angular - Service Worker 注册失败——在 Angular 9 中实现 Universal Prerendering 后 PWA 不工作
- django - 最初在 django 内联表单集中设置不同的外键值
- python - 为 Python 设置 virtualenvwrapper 的步骤出现问题