python算法: 抓交通肇事犯
一,for循环:
1,功能:重复执行同一段代码
语法:
for index in range(n):
# 循环体代码
index : 用来依次接收可迭代对象中的元素的变量名
range()函数:负责返回整数序列
流程图:
2,应用
range可以同时指定start 和stop,用for遍历并打印
1
2
3
4
|
# 指定 start和stop # print的参数 end=" " 用来使打印不换行 for num in range ( 3 , 9 ): print (num, end = " " ) |
运行结果:
3 4 5 6 7 8
说明:刘宏缔的架构森林—专注it技术的博客,
网址:https://imgtouch.com
本文: https://blog.imgtouch.com/index.php/2024/03/21/python-suan-fa-zhua-jiao-tong-zhao-shi-fan/
代码: https://github.com/liuhongdi/ 或 https://gitee.com/liuhongdi
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,抓交通肇事犯的题目与解析
1,题目:
一辆卡车违反交通规则,撞人后逃跑。现场有三人目击该事件,但都没有记住车号,只记下了车号的一些特征。
甲说:牌照的前两位数字是相同的;
乙说:牌照的后两位数字是相同的,但与前两位不同;
丙是数学家,他说:4位的车号刚好是一个整数的平方。
请根据以上线索求出车号。
2,解析:
按照题目的要求造出一个前两位数相同、后两位数相同且相互间又不同的4位整数,然后判断该整数是否是另一个整数的平方。假设一个4位数a1 a2 a3 a4,则有右侧的方程式:
根据上述方程式,
我们可以遍历0到9之间的数字,如果满足上述条件:则找到问题的解
三,编写代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# i代表前两位车牌号数字,j代表后两位车牌号的数字 # k代表车牌号 for i in range ( 10 ): # 穷举前两位车牌数字 for j in range ( 10 ): # 穷举后两位车牌数字 # 判断前两位和后两位数字是否相同 if i ! = j: # 组成4位车牌号码 k = 1000 * i + 100 * i + 10 * j + j # 判断k是否是某个数的平方,如果是平方表示找到了解 # k的范围是1000到9999,所以temp取值 31 到 99 for temp in range ( 31 , 100 ): if temp * temp = = k: print ( "车牌号为: " , k) |
运行结果:
车牌号为: 7744