求助:使用Python if语句实现校园准入多条件判断编程作业
入校权限判断程序实现
需求说明
- 当前时间以0-23的整数表示,保安在岗状态用布尔值
True/False标识 - 判断规则:
- 时间在7至17点之间,校门开放,无需保安即可入校
- 时间早于7点或晚于17点,必须有保安在岗才可入校
- 需使用
if…else结构,基于预定义的hour和guard变量输出能否入校
初步代码问题分析
- 逻辑错误:7-17点是允许入校的时间段,但代码输出了错误的禁止入校提示,逻辑完全反转
- 变量名违规:
open是Python内置关键字,不能用作自定义变量名,会触发语法错误 - 不符合作业要求:未使用预定义的
hour和guard变量,而是自行通过输入获取时间
修正后的中文版本代码
版本1:严格符合作业要求(使用预定义变量)
# 预定义时间与保安状态 hour = 4 guard = True # 定义校门开放时间段常量(规避关键字冲突) OPEN_HOUR = 7 CLOSE_HOUR = 17 if OPEN_HOUR <= hour <= CLOSE_HOUR: print("可以入校!") else: print("可以入校!" if guard else "无法入校!")
版本2:支持用户输入的拓展版
try: hour = int(input("请输入入校时间(0-23):")) guard = input("保安是否在岗?(输入是/否):").strip() == "是" OPEN_HOUR = 7 CLOSE_HOUR = 17 if OPEN_HOUR <= hour <= CLOSE_HOUR: print("可以入校!") else: print("可以入校!" if guard else "无法入校!") except ValueError: print("请输入有效的整数时间!")
示例运行结果
- 当
hour = 4、guard = True时,输出:可以入校! - 当
hour = 8、guard = False时,输出:可以入校! - 当
hour = 20、guard = False时,输出:无法入校!
内容的提问来源于stack exchange,提问作者Vee
相关产品推荐
相关产品推荐

