Python每日一題:第二題

今天我們學(xué)習(xí)下Python之禪和他朋友們的第二道題目,了解分析下軍哥的代碼

題目

設(shè)計一個猜數(shù)字的游戲,系統(tǒng)隨機生成一個1~100之間的整數(shù),玩家有5次機會宾巍,每猜一次系統(tǒng)就會提示玩家該數(shù)字是偏大還是偏小哪自,如果猜中了框冀,則告知玩家并提前結(jié)束游戲,如果5次都沒猜中担汤,結(jié)束游戲并告知正確答案涎跨。

老樣子!在做題之前我們需要了解以下幾點知識:

  • try ... except ... else ...語句
  • if ... elif ... else ... 語句
  • while ... else ... 語句
  • random模塊

try ... except ... else ... 語句
工作原理大致如下:Python執(zhí)行try代碼塊崭歧,只有可能發(fā)生異常的代碼才需要放在try語句中隅很;except代碼塊告訴Python,如果try語句運行發(fā)生異常時率碾,該怎么辦叔营;else代碼塊告訴Python,在try代碼塊成功執(zhí)行時才需要的運行的代碼所宰,放在else代碼塊中绒尊。

first_number = input('First number: ')
second_number = input('Second number: ')
try:
    answer = int(first_number) / int(second_number)
except ZeroDivisionError:
    print("You can't divide by 0 !")
else:
    print(answer)

if ... elif ... else ... 語句

# 年齡不滿4歲,入場為0
age = 12
if age < 4: # 年齡不滿4歲仔粥,入場為0婴谱,跳過余下測試
    print('Your admission cost is $0.')
elif age < 18: # elif僅在if語句為False時才能運行
    print('Your admission cost is $5.')
else: # 如果if和elif都未通過,else語句才被運行
    print('Your admission cost is $10.')

while ... else ... 語句
while … else 在循環(huán)條件為 false 時執(zhí)行 else 語句塊,翻了Python學(xué)習(xí)手冊勘究,while...else...有點晦澀難懂矮湘,菜鳥教程的更容易理解

count = 0
while count < 5:
   print count, " is  less than 5"
   count = count + 1
else: # while循環(huán)被設(shè)置為< 5,當(dāng)count> 5時,便執(zhí)行else語句
   print count, " is not less than 5"
   
0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5

random模塊
參考博客園

基本的解題知識學(xué)完后口糕,我們來看一下的軍哥的代碼

import random

class GuessGame():
    def __init__(self, min_num, max_num, choice):
        '''

        :param min_num:
        :param max_num:
        :param choice:
        :return:
        '''

        self.min_num = min_num
        self.max_num = max_num
        self.choice = choice
        self.target = random.randint(min_num, max_num)

    def guess(self):
        '''

        :return:
        '''
        choice = self.choice
        while choice > 0:
            choice -= 1
            try:
                num = int(input('輸入數(shù)字: '))
            except:
                print('輸入有效數(shù)字')
                continue # 跳出這次循環(huán)

            if num == self.target:
                print('恭喜你猜中了')
                break # 退出循環(huán)
            elif num <= self.target:
                print('你猜的數(shù)字太小了缅阳,還剩%d次機會' % choice) # 運用字符串格式化表達式
            else:
                print('你猜的數(shù)字太大了,還剩%d次機會' % choice)

        else:
            print('很遺憾景描,%d 次機會都用完了,只差一點點就猜中了十办,正確答案是 %d' % (self.choice, self.target))

if __name__ == '__main__':
    game = GuessGame(1, 100, 5) # 創(chuàng)建實例
    game.guess()
你猜的數(shù)字太小了,還剩4次機會
輸入數(shù)字: 1
你猜的數(shù)字太小了超棺,還剩3次機會
輸入數(shù)字: 100
你猜的數(shù)字太大了向族,還剩2次機會
輸入數(shù)字: 90
你猜的數(shù)字太大了,還剩1次機會
輸入數(shù)字: 0
你猜的數(shù)字太小了棠绘,還剩0次機會
很遺憾件相,5 次機會都用完了,只差一點點就猜中了,正確答案是 70

歡迎訪問博客Treehl的博客
GitHub

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末氧苍,一起剝皮案震驚了整個濱河市夜矗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌让虐,老刑警劉巖紊撕,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異赡突,居然都是意外死亡对扶,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門惭缰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浪南,“玉大人,你說我怎么就攤上這事漱受〕研梗” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵拜效,是天一觀的道長喷众。 經(jīng)常有香客問我,道長紧憾,這世上最難降的妖魔是什么到千? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮赴穗,結(jié)果婚禮上憔四,老公的妹妹穿的比我還像新娘膀息。我一直安慰自己,他們只是感情好了赵,可當(dāng)我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布潜支。 她就那樣靜靜地躺著,像睡著了一般柿汛。 火紅的嫁衣襯著肌膚如雪冗酿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天络断,我揣著相機與錄音裁替,去河邊找鬼。 笑死貌笨,一個胖子當(dāng)著我的面吹牛弱判,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播锥惋,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼昌腰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了膀跌?” 一聲冷哼從身側(cè)響起剥哑,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎淹父,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體怎虫,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡暑认,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了大审。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蘸际。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖徒扶,靈堂內(nèi)的尸體忽然破棺而出粮彤,到底是詐尸還是另有隱情,我是刑警寧澤姜骡,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布导坟,位于F島的核電站,受9級特大地震影響圈澈,放射性物質(zhì)發(fā)生泄漏惫周。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一康栈、第九天 我趴在偏房一處隱蔽的房頂上張望递递。 院中可真熱鬧喷橙,春花似錦、人聲如沸登舞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽菠秒。三九已至疙剑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間稽煤,已是汗流浹背核芽。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留酵熙,地道東北人轧简。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像匾二,于是被迫代替她去往敵國和親哮独。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容