#创作灵感#:找回上大学时敲代码的乐趣

#使用到的库#:random:生成随机数的库;

1、普通的思考,并进行编写:

import random


def random_number_generation():
    """
    :return: 返回1~100的随机整数
    """
    return random.randint(1, 100)

def guess_the_numbers(reality_number):
    """
    :param reality_number: 一个随机数字,作为程序的猜数字答案
    :return: 执行成功并回答正确则返回True,否则返回Flase
    """
    try:
        head_number = 1
        end_number = 100
        in_number = None
        while in_number != reality_number:
            in_number = int(input(f"请输入{head_number}~{end_number}之间的数字"))
            if in_number > end_number or in_number < head_number:
                print("输入错误,请重新输入区间范围内的值")
            else:
                if in_number > reality_number:
                    end_number = in_number - 1
                else:
                    head_number = in_number + 1
        print(f"结果猜中啦,为{reality_number}")
        return True
    except ValueError:
        print("输入了其他非数字,退出程序")
        return False


if __name__ == '__main__':
    guess_the_numbers(random_number_generation())

运行结果:

2、进一步的优化,自定义输入区间,进行游戏:

import random


def random_number_generation():
    """
    :return: 输出这区间的整数;
    """
    try:
        while 1:
            head_number = int(input("输入head_number"))
            end_number = int(input("输入end_number"))
            if end_number >= head_number:
                reality_number = random.randint(head_number, end_number)
                return head_number, end_number, reality_number
            else:
                print("输入错误,请重新输入")
    except ValueError:
        print("输入了其他非数字,退出程序")
        return False

def guess_the_numbers(head_number, end_number, reality_number):
    """
    :param reality_number: 一个随机数字,作为程序的猜数字答案
    :return: 执行成功并回答正确则返回True,否则返回Flase
    """
    try:
        in_number = None
        while in_number != reality_number:
            in_number = int(input(f"请输入{head_number}~{end_number}之间的数字"))
            if in_number > end_number or in_number < head_number:
                print("输入错误,请重新输入区间范围内的值")
            else:
                if in_number > reality_number:
                    end_number = in_number - 1
                else:
                    head_number = in_number + 1
        print(f"结果猜中啦,为{reality_number}")
        return True
    except ValueError:
        print("输入了其他非数字,退出程序")
        return False


if __name__ == '__main__':
    result = random_number_generation()
    if result:
        guess_the_numbers(result[0],result[1],result[2])

运行结果:

3、加个简单的UI界面,看起来更好玩:

http://t.csdnimg.cn/lQ8na

作者:是冷静呀

物联沃分享整理
物联沃-IOTWORD物联网 » Python编写猜数字游戏

发表回复