python實(shí)現(xiàn)逢七拍腿小游戲的思路詳解
逢七拍腿游戲
幾個(gè)小朋友在一起玩逢七拍腿的游戲,從1開(kāi)始數(shù)數(shù),當(dāng)數(shù)到7的倍數(shù)或者尾號(hào)是7時(shí),拍一下腿。現(xiàn)在從1數(shù)到99,假設(shè)每個(gè)人都沒(méi)有錯(cuò),計(jì)算一下共要拍腿幾次?
第一種實(shí)現(xiàn)思路:通過(guò)在for循環(huán)語(yǔ)句中使用continue語(yǔ)句來(lái)實(shí)現(xiàn)計(jì)算拍腿次數(shù)。首先假設(shè)可拍腿次數(shù)為最高次數(shù)99,每觸發(fā)滿足的條件的時(shí)候就直接跳轉(zhuǎn)到下一次循環(huán)當(dāng)中,最后的total減1則不執(zhí)行,不滿足條件時(shí)total則減1。因此實(shí)際上total減去的是不滿足條件的數(shù)字,代碼如下:
total = 99 #記錄拍腿次數(shù)的變量
for number in range(1,100): #創(chuàng)建一個(gè)從1數(shù)到99的循環(huán)
if number&7 == 0: #判斷是否為7的倍數(shù)
continue #跳轉(zhuǎn)到下一次循環(huán)
else:
string = str(number) #將數(shù)值轉(zhuǎn)化為字符串,方便判斷尾號(hào)是否為7
if string.endswith('7'): #判斷尾號(hào)數(shù)字是否為7
continue #跳轉(zhuǎn)到下一次循環(huán)
total -= 1 #可拍腿次數(shù)減1
print("從1數(shù)到99共拍腿",total,"次") #顯示拍腿次數(shù)
在此處我們新學(xué)到一個(gè)函數(shù)為endswith(),我們先來(lái)討論一下endswith()函數(shù)的作用。
函數(shù):endswith()
作用:判斷字符串是否以指定字符或子字符串結(jié)尾,常用于判斷文件類型
相關(guān)函數(shù):判斷字符串開(kāi)頭 startswith()
運(yùn)行結(jié)果如下:

第二種實(shí)現(xiàn)思路:通過(guò)設(shè)置一個(gè)計(jì)數(shù)器,每觸發(fā)條件一次計(jì)數(shù)器就加1.代碼如下:
total = 0 #記錄拍腿次數(shù)的變量
for number in range(1,100): #創(chuàng)建一個(gè)從1數(shù)到99的循環(huán)
if number&7 == 0: #判斷是否為7的倍數(shù)
total +=1 #可拍腿次數(shù)加1次
else:
string = str(number) #將數(shù)值轉(zhuǎn)化為字符串,方便判斷尾號(hào)是否為7
if string.endswith('7'): #判斷尾號(hào)數(shù)字是否為7
total +=1 #可拍腿次數(shù)加1次
print("從1數(shù)到99共拍腿",total,"次") #顯示拍腿次數(shù)
這兩種方法都可以實(shí)現(xiàn),很有趣的是第一種實(shí)際上是一種逆向的思維,我們已經(jīng)習(xí)慣于加法,很少會(huì)使用到減法。第二種是我們很多人習(xí)慣的思考方式。在學(xué)習(xí)python的過(guò)程當(dāng)中,多發(fā)散一下思維,有時(shí)候逆向地思考也可以達(dá)到要實(shí)現(xiàn)的目的,甚至?xí)欤?/p>
總結(jié)
到此這篇關(guān)于python實(shí)現(xiàn)逢七拍腿小游戲的思路詳解的文章就介紹到這了,更多相關(guān)python實(shí)現(xiàn)逢七拍腿小游戲內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python中使用OpenCV進(jìn)行人臉檢測(cè)的例子
這篇文章主要介紹了python中使用OpenCV進(jìn)行人臉檢測(cè)的例子,需要的朋友可以參考下2014-04-04
Django框架設(shè)置cookies與獲取cookies操作詳解
這篇文章主要介紹了Django框架設(shè)置cookies與獲取cookies操作,結(jié)合實(shí)例形式詳細(xì)分析了Django框架針對(duì)cookie操作的各種常見(jiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-05-05
python PIL和CV對(duì) 圖片的讀取,顯示,裁剪,保存實(shí)現(xiàn)方法
今天小編就為大家分享一篇python PIL和CV對(duì) 圖片的讀取,顯示,裁剪,保存實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
django創(chuàng)建最簡(jiǎn)單HTML頁(yè)面跳轉(zhuǎn)方法
今天小編就為大家分享一篇django創(chuàng)建最簡(jiǎn)單HTML頁(yè)面跳轉(zhuǎn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
numpy多級(jí)排序lexsort函數(shù)的使用
本文主要介紹了numpy多級(jí)排序lexsort函數(shù)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
Python編程之gui程序?qū)崿F(xiàn)簡(jiǎn)單文件瀏覽器代碼
這篇文章主要介紹了Python編程之gui程序?qū)崿F(xiàn)簡(jiǎn)單文件瀏覽器代碼,具有一定借鑒價(jià)值,需要的朋友可以了解下。2017-12-12
Python?SQLAlchemy插入日期時(shí)間時(shí)區(qū)詳解
SQLAlchemy是一個(gè)功能強(qiáng)大且流行的?Python?庫(kù),它提供了一種靈活有效的與數(shù)據(jù)庫(kù)交互的方式,在本文中,我們將了解SQLAlchemy如何更新日期、時(shí)間和時(shí)區(qū)并將其插入數(shù)據(jù)庫(kù),感興趣的可以了解下2023-09-09
對(duì)python中arange()和linspace()的區(qū)別說(shuō)明
這篇文章主要介紹了對(duì)python中arange()和linspace()的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05

