人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

python算法練習(xí)之抓交通肇事犯

發(fā)布日期:2021-12-19 04:07 | 文章來源:源碼之家

1.問題描述

一輛卡車違反交通規(guī)則,撞人后逃跑?,F(xiàn)場有三人目擊該事件,但都沒有記住車號(hào),只記下了車號(hào)的一些特征。甲說:牌照的前兩位數(shù)字是相同的:乙說:牌照的后兩位數(shù)字是相同的,但與前兩位不同:丙是數(shù)學(xué)家,他說:4位的車號(hào)剛好是一個(gè)整數(shù)的平方。請根據(jù)以上線索求出車號(hào)。

2.確定程序框架

根據(jù)流程,構(gòu)建程序框架如下:

if __name__ == '__main__':
 # i代表前兩位車牌號(hào)數(shù)字,j代表后兩位車牌號(hào)數(shù)字,k代表車牌號(hào)
 for i in range(10):
  for j in range(10):  # 窮舉前兩位和后兩位車牌數(shù)字
# 判斷前兩位和后兩位數(shù)字是否相同
if i != j:
 # 組成4位車牌號(hào)碼
 k = 1000 * i + 100 * i + 10 * j + j
 # 判斷k是否是某個(gè)數(shù)的平方,是就輸出
 

3.判斷車牌k是是否為某個(gè)數(shù)的平方,是就輸出

再次利用循環(huán)來實(shí)現(xiàn),循環(huán)變量 temp求平方后和車牌號(hào)k比較,相等則投到車牌號(hào),優(yōu)化算法,temp的初值應(yīng)該從31開始,因?yàn)樾∮?code>30的數(shù)的平方小于4位數(shù)。故該層循環(huán)為最內(nèi)層循環(huán),對(duì)每一個(gè)年牌號(hào)均作如此操作。

for temp in range(31, 100):
 if temp * temp == k:
  print("車牌號(hào)為:", k)
 

4.完整程序

根據(jù)上面的分析,完整程序如下:

if __name__ == '__main__':
 # i代表前兩位車牌號(hào)數(shù)字,j代表后兩位車牌號(hào)數(shù)字,k代表車牌號(hào)
 for i in range(10):
  for j in range(10):  # 窮舉前兩位和后兩位車牌數(shù)字
# 判斷前兩位和后兩位數(shù)字是否相同
if i != j:
 # 組成4位車牌號(hào)碼
 k = 1000 * i + 100 * i + 10 * j + j
 # 判斷k是否是某個(gè)數(shù)的平方,是就輸出
 for temp in range(31, 100):
  if temp * temp == k:print("車牌號(hào)為:", k)
 

5.運(yùn)行結(jié)果

Pycharm運(yùn)行程序,結(jié)果如下

車牌號(hào)為: 7744

6.優(yōu)化算法

針對(duì)上述程序,如果已經(jīng)找到相應(yīng)的車牌號(hào),請讀者考慮循環(huán)是否還需要繼續(xù)呢?答案是肯定的,因?yàn)樗惴ㄔ谠O(shè)計(jì)窮舉循環(huán)的時(shí)候,并沒有在找到車牌的時(shí)候就退出循環(huán),而是繼續(xù)窮舉其他i、j的情況。我們可以改進(jìn)算法,設(shè)置一個(gè)“標(biāo)識(shí)變量”,該變量初值為0,一旦找到車牌號(hào),則改變該標(biāo)識(shí)變量的值為1,每次循環(huán)判斷一下標(biāo)識(shí)變量的值。如果值為1,則退出所有循環(huán),這樣能有效的減少循環(huán)次數(shù),

改進(jìn)的程序如下:

if __name__=="__main__":
 # i代表前兩位車牌號(hào)數(shù)字,j代表后兩位車牌號(hào)的數(shù)字,k代表車牌號(hào)
 flog = 0  # 循環(huán)標(biāo)識(shí)變量,為1時(shí)推出所有循環(huán)
 for i in range(10):
  if flog:
break
  for j in range(10):  # 窮舉前兩位和后兩位車牌數(shù)字
if flog:
 break
# 判斷前兩位和后兩位數(shù)字是否相同
if i != j:
 # 組成4位車牌號(hào)碼
 k = 1000 * i + 100 * i + 10 * j + j
 # 判斷k是否是某個(gè)數(shù)的平方,是就輸出
 for temp in range(31, 100):
  if temp * temp == k:print("車牌號(hào)為: ", k)flog = 1break

到此這篇關(guān)于python算法之抓交通肇事犯練習(xí)的文章就介紹到這了,更多相關(guān)python算法 內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部