【问题描述】一个夜黑风高的夜晚,一个肇事者撞坏城市雕像后逃逸,警方调查时,有三个目击者描述了事发时他们分别记住的关于车牌的特征。A目击者说:”车牌号的前两位数相同。“B目击者说:”车牌号的后两位加起来等于5.“C目击者说:”车牌号是一个N位数组成,且能够被3整除。“请编写程序,从键盘输入一个[3,7]之间的整数,帮助警方快速确定肇事车可能的车牌号。
【输入形式】一个[3,7]之间的整数
【输出形式】满足条件的数据
【样例输入】3
【样例输出】114,441
【样例说明】
【评分标准】
完整代码如下:
n=int(input())
if n<3 or n>7:
print("请您输入[3,5]之间的数")
else:
for i in range(10**(n-1),10**n):
if str(i)[0]==str(i)[1] and int(str(i)[-2])+int(str(i)[-1])==5 and i%3==0:
print(i)
else:
continue
代码解释:
“n=int(input())
if n<3 or n>7:
print("请您输入[3,5]之间的数") ”,让用户输入肇事车牌号的位数,并判断其是否在给定区间内。
“for i in range(10**(n-1),10**n):
if str(i)[0]==str(i)[1] and int(str(i)[-2])+int(str(i)[-1])==5 and i%3==0:
print(i)
else:
continue ”,如果位数在给定区间内,则在该位数区间内查找符合A,B,C三位目击者描述的数字,然后将它打印出来;否则跳过该数,直至循环结束。
(注释:str()将内容转化为字符串,int()则将内容转化为整数)
运行效果如下: