You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python程序中and运算符失效:我的代码为何无输出?

问题分析与解决

核心错误

你代码里的第三个elif条件逻辑完全不成立:

elif int(gt.now.strftime("%H")) >= 17 and int(gt.now.strftime("%H")) < 0:

%H获取的是24小时制的小时数,范围是00到23,转成整数后不可能同时满足大于等于17和小于0。所以当当前时间在17点及以后时,没有任何分支能匹配,自然不会输出问候语。

修复方案

把第三个分支改成else就行,因为前两个条件已经覆盖了0-11、12-16的情况,剩下的17-23直接用else兜底:

另外建议把重复计算的小时值存成变量,避免多次转换,代码更简洁:

import greettime as gt

current_hour = int(gt.now.strftime("%H"))
if current_hour < 12:
    print("Good Morning, Rudra!")
elif 12 <= current_hour < 17:
    print("Good Afternoon, Rudra!")
else:
    print("Good Evening, Rudra!")

print(current_hour)

额外小技巧

Python支持连续比较,比如12 <= current_hour < 17,比用and写两个分开的条件更直观易读。

内容的提问来源于stack exchange,提问作者Rudra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 06:06:23