猫史档案馆


【Python作品分享】【43】测试高手-工程包【教程贴】

用户:睿智的小范范睿智的小范范查看:0 回复:1 评论:0 创建时间:2021-01-09T19:17:08


【作品展示】

center_image

 

【作品介绍】

测试包

 

【作品源代码】

import pdb
import random

#数独题目数据列表:空字符串代表待填空的区域
l0 = [2, 8, 4, 6, 5, 7, 3, 9, 1]
l1 = [3, ' ', 7, 9, 2, 4, 5, 6, 8]
l2 = [5, 6, 9, 8, 1, 3, 2, 7, 4]
l3 = [8, 2, 5, 7, 4, 9, 1, 3, 6]
l4 = [6, 9, 3, 1, ' ', 2, 4, 5, 7]
l5 = [7, 4, 1, ' ', 6, 5, 8, 2, 9]
l6 = [9, 7, 8, 2, 3, 1, 6, 4, 5]
l7 = [4, 3, 6, 5, 7, ' ', 9, 1, 2]
l8 = [1, 5, 2, 4, 9, 6, 7, 8, 3]
numList = [l0, l1, l2, l3, l4, l5, l6, l7, l8]
#数独答案字典:待填空的位置及答案(位置的行和列均以0开始计数)
numAnswer = {(1, 1): 1, (4, 4): 8, (5, 3): 3, (7, 5): 8}
def showGame():
    '''显示界面:根据数独题目最新数据来显示游戏界面'''
    for k in range(9):
        for i in range(9):
            print('+-----', end='')
        print('+')
        for j in range(9):
            print('|'+'  '+str(numList[k][j])+'  ', end='')
        print('|')
    

def posCheck(r, c):
    '''位置检测(判断玩家输入的位置是否有效,位置错误或位置处已填写数据均为无效位置)'''
    if (r < 0 or r > 6) or (c < 0 or c > 6):
        print('位置错误,需重新选择目标格子!')
        return False
    else:
        if numList[r][c] == ' ':
            return True
        else:
            print('位置已有数据,需重新选择目标格子!')
            return False

def numListUpdate(r, c, n):
    '''答案检测(判断玩家在选定位置输入的答案为答案字典中的数据,如果答案正确则更新题目数据列表)'''
    if n == numAnswer[r, c]:
        return True
    else:
        print('答案错误,需重新选择目标格子!')
        return False


# 以下为游戏主控制
count = len(numAnswer)  # 获取答案字典的长度,即数独游戏待填空的数量(数量越多,数独难度越高)
pdb.set_trace()
showGame()  # 显示游戏界面
while True:
        print('目前游戏空白格子数:', count)
        print('-----------------------')
        pos = input('请选择目标位置(行和列均以0开始计数):如:2,3\n')
        row = int(pos[0])   # 从输入的字符串中截取行数据
        col = int(pos[-1])  # 从输入的字符串中截取列数据
        if posCheck(row, col):  # 进行位置检测
            answer = int(input('请输入目标位置的答案:'))
            if numListUpdate(row, col, answer):  # 进行位置上的答案检测
                showGame()  # 显示最新游戏界面
                if count == 0:  # 若空白格子数为0,则退出循环,游戏成功
                    print('恭喜你,游戏成功!')
                    break




 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
睿智的小范范睿智的小范范

要测试函数哦

 

点赞0


评论