车牌限行规则判断 - 算法题
车牌限行规则判断
问题描述 受雾霾天气影响,某市决定当雾霾指数超过设定值时对车辆进行限行,假设车牌号全为数字,且长度不超过6位,限行规则如下:
(1) 限行时间段只包括周一至周五,周六周日不限行; (2) 如果雾霾指数低于200,不限行; (3) 如果雾霾指数大于等于200且低于400,每天限行两个尾号的汽车,周一限行1和6,周二限行2和7,周三限行3和8,周四限行4和9,周五限行5和0; (4) 如果雾霾指数大于等于400,每天限行五个尾号的汽车,周一、周三和周五限行1,3,5,7,9,周二和周四限行0,2,4,6,8。
现在给出星期几(1-7,1表示周一,7表示周日)、雾霾指数(0-600)和车牌号,判断该车牌号是否限行。
输入说明 输入分为三个整数,第一个整数表示星期几(1~7,1表示周一,2表示周二,依次类推,7表示周日), 第二个整数表示雾霾指数(0~600),第三个整数表示车牌号,整数之间用空格分隔。
输出说明 输出为两个部分,第一部分为车牌最后一位数字,第二部分为限行情况,限行输出'yes',不限行输出'no'。
输入样例 输入样例1 4 230 80801 输入样例2 3 300 67008
输出样例 输出样例1 1 no 输出样例2 8 yes
代码实现
weekday, haze_index, plate_number = map(int, input().split())
# 判断是否为周末
if weekday >= 6:
print(plate_number % 10, "no")
else:
if haze_index < 200:
print(plate_number % 10, "no")
elif haze_index < 400:
if weekday == 1 and (plate_number % 10 == 1 or plate_number % 10 == 6):
print(plate_number % 10, "yes")
elif weekday == 2 and (plate_number % 10 == 2 or plate_number % 10 == 7):
print(plate_number % 10, "yes")
elif weekday == 3 and (plate_number % 10 == 3 or plate_number % 10 == 8):
print(plate_number % 10, "yes")
elif weekday == 4 and (plate_number % 10 == 4 or plate_number % 10 == 9):
print(plate_number % 10, "yes")
elif weekday == 5 and (plate_number % 10 == 5 or plate_number % 10 == 0):
print(plate_number % 10, "yes")
else:
print(plate_number % 10, "no")
else:
if (weekday == 1 or weekday == 3 or weekday == 5) and (plate_number % 2 == 1):
print(plate_number % 10, "yes")
elif (weekday == 2 or weekday == 4) and (plate_number % 2 == 0):
print(plate_number % 10, "yes")
else:
print(plate_number % 10, "no")
输入示例解释:
- 第一个输入表示星期几(1~7,1表示周一,2表示周二,依次类推,7表示周日)。
- 第二个输入表示雾霾指数(0~600)。
- 第三个输入表示车牌号。
输出示例解释:
- 第一部分输出为车牌最后一位数字。
- 第二部分输出为限行情况,限行输出'yes',不限行输出'no'。
希望这个答案对你有帮助!如有其他问题,请随时问我。
原文地址: https://www.cveoy.top/t/topic/bj4e 著作权归作者所有。请勿转载和采集!