求助修复并格式化美国州际公路编号判定的Python代码
美国州际公路编号判断代码修复
原代码存在的问题
- 缩进不符合Python规范,分支下代码未统一缩进,触发语法错误
- 偶数判断行多写了一个右括号,存在语法错误
- 单词拼写错误:辅路对应英文
auxiliary被误写为auxillary - 输出逻辑分散,没有按照需求整合成符合示例格式的单行输出
- 变量作用域问题:主路编号变量仅在主路分支定义,辅路分支判断走向时会报错
- 无效编号的输出内容和需求示例不一致
修复后代码
highway_number = int(input("Enter highway number: ")) # 校验编号合法性 if highway_number < 1 or highway_number > 999: print(f"{highway_number} is not a valid interstate highway number.") else: # 区分主路/辅路,确定服务的主路编号 if highway_number > 99: is_primary = False serving_primary = highway_number % 100 else: is_primary = True serving_primary = highway_number # 判断走向 if serving_primary % 2 == 0: direction = "east/west" else: direction = "south/north" # 按格式输出 if is_primary: print(f"I-{highway_number} is primary, going {direction}.") else: print(f"I-{highway_number} is auxiliary, serving I-{serving_primary}, going {direction}.")
运行效果
- 输入
90,输出:I-90 is primary, going east/west. - 输入
290,输出:I-290 is auxiliary, serving I-90, going east/west. - 输入
0,输出:0 is not a valid interstate highway number.
内容的提问来源于stack exchange,提问作者Loki
相关产品推荐
相关产品推荐

