Python学习笔记调试小结之使用日志调试抛投硬币游戏

随笔记录方便自己和同路人查阅。

#------------------------------------------------我是可耻的分割线-------------------------------------------

  这是一个简单的硬币抛掷猜测游戏。玩家有两次猜测机会(这是一个简单的游戏)。但是,程序中有一些缺陷

#------------------------------------------------我是可耻的分割线-------------------------------------------

  示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#! python 3
# -*- coding:utf-8 -*-
# Autor: Li Rong Yang
'''
这是一个简单的硬币抛掷猜测游戏。玩家有两次猜测机会(这是一个简单的游戏)。但是,程序中有一些缺陷,
我们使用logging模块找出出错的位置
'''
import random,logging
logging.basicConfig(level=logging.DEBUG, format=' %(asctime)s - %(levelname)s - %(message)s')
guess = ''
 
while guess not  in ('heads','tails'):
    #使用日志提示循环开始
    logging.debug("while loop shart.")
    print('Guess the coin toin tass! Enter heads or tails:')
    guess = input()
    # 使用日志提示循环结束,并给出变量值
    logging.debug("while loop end.guess is: %s"%guess)
 
toss = random.randint(0,1)
 
#提示现在是判断语句,给出比较的两个值
logging.debug('if start.guess is: {guess}, toss is: {toss}'.format(guess = guess, toss =toss))
if toss == guess:
    print('You got it!')
else:
    print('Nope! Guess again!')
    guesss = input()
    if toss == guesss:
        print('You got it!')
    else:
        print('Nope. You are really bad at this game.')

  运行结果:

  根据运行结果,我们很明显的看出,在if判断时,一个是数字一个是字符串,所以条件不可能为True。

 

posted @   李荣洋  阅读(423)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示