Python条件判断问题求助:训练营入学编程题语法错误排查与修正
校园准入判断编程题求助
题目要求
- 当前时间为0-23的整数,保安在岗状态为布尔值
True/False; - 7点到17点(含)校门开放,无需保安在岗即可进入;
- 7点前或17点后,需保安在岗才能进入;
- 使用预定义变量
hour和guard,通过if语句输出能否进入。
示例
初始代码:
hour = 4 guard = True
示例输出:'你可以进入!'
我编写的错误代码
hour = (input("请输入时间:")) if hour => 7 or =< 17 return guard = True else: return guard = False if guard = True print("你可以进入!") elif guard = false print(校门开放) else: print("输入错误,请输入数字:")
修正后的正确代码
hour = int(input("请输入时间:")) if (hour >= 7 and hour <= 17): guard = True else: guard = False if guard == True: print("你可以进入!") elif guard == False: print("校门关闭")
错误点说明
- 输入类型未转换:
input()返回字符串,必须用int()转为整数才能进行数值比较; - 比较运算符使用错误:Python中大于等于为
>=、小于等于为<=,不能写成=>或=<; if语句语法不完整:所有if/elif/else语句末尾必须加冒号:;- 赋值与判断混淆:判断相等要用
==,=是赋值操作,不能用于条件判断; - 布尔值大小写错误:Python中布尔值
False首字母必须大写; - 字符串未加引号:
print(校门开放)中的内容是字符串,必须用单引号或双引号包裹; - 逻辑判断错误:7点到17点的时间范围是“同时满足大于等于7且小于等于17”,需用
and而非or; - 全局代码误用
return:return仅用于函数内部返回值,全局代码中直接赋值变量即可。
内容的提问来源于stack exchange,提问作者Katy Armstrong
相关产品推荐
相关产品推荐

