《Python編程快速上手—讓繁瑣工作自動化》第10章實(shí)踐項(xiàng)目答案

10.8 實(shí)踐項(xiàng)目:調(diào)試硬幣拋擲

項(xiàng)目要求:書中給了一段代碼,隱藏了一些bug,用logging調(diào)試并找出問題所在

#! python3
import logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s, 
                                    %(levelname)s - %(message)s')
import random

def guess_fun():
    global guess
    while guess not in ('heads', 'tails'):
        print('Guess the coin toss! Enter heads or tails:')
        guess = input()

guess = ''
guess_fun()
toss = random.choice(['heads', 'tails']) # 0 is tails, 1 is heads
logging.info('toss is %s, guess is %s' % (toss, guess))
if toss == guess:
    print('You got it!')
else:
    print('Nope! Guess again!')
    guess = ''
    guess_fun()
    logging.info('toss is %s, guess is %s' % (toss, guess))
    if toss == guess:
        print('You got it!')
    else:
        print('Nope. You are really bad at this game.')

思路:

  1. 基本上bug認(rèn)真讀讀代碼就可以看出來;但作為練習(xí),還是要把logging插入到合適的位置
  2. logging作為調(diào)試,雖然用起來較麻煩,但是要習(xí)慣

環(huán)境:python3

想做這個系列文章,就是因?yàn)楫?dāng)時(shí)看這本書時(shí),想看看網(wǎng)上有沒更優(yōu)美的解決,但是略難找到。所以就把自己的項(xiàng)目練習(xí)放在了一個txt文件中,現(xiàn)在把練習(xí)代碼放到這里,有不足之處希望大家能給出指導(dǎo)意見及相互交流、提升。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容