鱼C论坛

 找回密码
 立即注册
查看: 1700|回复: 7

[技术交流] 代码 重构 !

[复制链接]
发表于 2020-7-12 18:29:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 TsaiYen 于 2020-7-12 19:38 编辑

鱼友们可以帮我看看代码哪里需要改进吗?
感觉自己写得太复杂,很烂...
from random import randint
from time import sleep
from terminaltables import AsciiTable
Head = ["回合", " 范围", "猜谜数字"]
Min, Max, Round = 1, 100, 1
isBingo, Judy = True, True
data = []
#选择模式
def mode():
    body = "电脑随机生成终极密码(1) or 手动设定终极密码(2) or 退出当前操作(3): "
    while Judy:
        print("------------------------终极密码1 ~ 100 ------------------ ---------")
        choose = input(body)
        if choose.isdigit() and 0 < int(choose) < 4:
            if choose == "1":
                generate_num()
            if choose == "2":
                game_start()
            if choose == "3":
                break
        else:
            print("输入指令错误")
            body = "重新输入指令"

#计算机随机产生密码
def generate_num():
    global Min, Max, Judy, Round
    #初始化范围
    Min, Max, Round = 1, 100, Round
    #不包含 1 和 100
    r = randint(2, 100)
    print(r)
    print("正在产生密码...")
    sleep(3)
    print("终极密码产生完毕 ! ! !")
    while True:
        result = input("输入终极密码,密码介于 {} ~ {} : \n".format(Min, Max))
        data.append([Round, "%3d ~ %3d" % (Min, Max), result])
        Round += 1
        if result.isdigit() and Min < int(result) < Max:
            result = int(result)
            if result > r:
                Max = result
            elif result < r:
                Min = result
            else:
                print("Bingo,答对了 ! ! ! ")
                table = AsciiTable([Head, *data])
                print(table.table)
                if input("还要继续玩吗 [y / n] ?: ") == "y":
                    break
                else:
                    print("游戏结束 ! ! !")
                    Judy = False
                    break
        else:
            print("密码并非数字 & 终极密码范围超出 ! ! !\n重新输入终极密码...")

#游戏开始,手动设定密码
def game_start():
    global Min, Max, isBingo, Judy, Round
    #初始化范围
    Min, Max, Round = 1, 100, 1
    #初始化 isBingo
    isBingo = True
    while isBingo:
        num = int(input("设定终极密码: "))
        if isinstance(num, int) and Min < num < Max :
            print("设定完成")
            while True:
                result = input("输入终极密码,密码介于 {} ~ {} : \n".format(Min, Max))
                data.append([Round, "%3d ~ %3d" % (Min, Max), result])
                Round += 1
                if result.isdigit() and Min < int(result) < Max:
                    result = int(result)
                    if result > num:
                        Max = result
                    elif result < num:
                        Min = result
                    else:
                        print("Bingo,答对了 ! ! ! ")
                        table = AsciiTable([Head, *data])
                        print(table.table)
                        if input("还要继续玩吗 [y / n] ?: ") == "y":
                            isBingo = False
                            break
                        else:
                            isBingo = False
                            Judy = False
                            print("游戏结束 ! ! !")
                            break
                else:
                    print("密码并非数字 & 终极密码范围超出 ! ! !\n重新设定终极密码...")
        else:
            print("重新设定 ! 密码并非数字 & 范围超出")
    
mode()
        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-12 18:31:48 | 显示全部楼层
100行……
我都写不到50行的……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-12 18:35:16 | 显示全部楼层
weiter 发表于 2020-7-12 18:31
100行……
我都写不到50行的……

我判断的比较多哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-12 19:06:06 | 显示全部楼层
繁体字看不懂不知道你写的啥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-12 19:14:34 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-7-12 19:06
繁体字看不懂不知道你写的啥

更改了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-12 19:27:36 | 显示全部楼层

题目没改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-12 19:38:57 | 显示全部楼层

改了TAT
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-12 20:42:33 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 02:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表