Python编写猜数字游戏

题目要求:

  • 根据现实生活中的猜数字游戏的游戏规则,运用Python语言模拟实现猜数字游戏的的基本功能,请学员们参考真实的猜数字游戏规则和如下的程序运行效果图进行代码编写,以实现“数字猜猜猜”小游戏的基本功能。游戏规则介绍如下:
  1. 玩家根据提示进行数字区间起始位置和终止位置的输入
  2. 依据1中输入的数字区间,产生该区间内一个随机数,用于进行猜测比对的终值
  3. 提示用户输入所猜测的数字,与2中产生的随机数字进行比对,并将相应的信息写入指定的日志文件(日志文件名称:record.txt;日志文件路径:与.py文件处于同一级目录)
  4. 依据3中的比对结果。若两者不等,打印友好提示,重复3、4步骤;若两者相等,则退出该函数,执行下列语句
  5. 当猜测的值不在指定区间内时,不需要统计次数和记录
  6. 打印如效果图所示,用以提示游戏结束的信息
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time     : 2021/8/27 21:38
# @Author   : InsaneLoafer
# @File     : mooc_test.py

import logging
import os
import random


def init_log(path):
    if os.path.exists(path):
        mode = 'a'
    else:
        mode = 'w'
    logging.basicConfig(
        level=logging.INFO,
        format='%(asctime)s %(filename)s %(lineno)d %(message)s',
        filename=path,
        filemode=mode
    )
    return logging

def guess_number():
    print('********************欢迎进入数字踩踩踩游戏********************')
    start = input('数字区间起始值:')
    end = input('数字区间终止值:')
    if not start.isdigit() or not end.isdigit():
        print('您输入的区间数字为非数字字符!!请重新启动程序。')
        exit()
    else:
        start = int(start)
        end = int(end)
        count = 0
        if start == end:
            print('您输入的区间数字相同!!请重新启动程序。')
            exit()
        elif start > end:
            print('您输入的区间数字大小有误!!请重新启动程序。')
            exit()

        else:
            print('所产生的的随机数字区间为:[{}, {}]'.format(start, end))
            random_number = random.randint(start, end)

            while True:
                count += 1
                number = int(input('请继续输入您猜测的数字:'))
                if number not in range(start,end+1):
                    print('对不起您输入的数字未在指定区间内!!!')
                    continue
                elif number > random_number:
                    init_log('record.txt')
                    print('*********')
                    print('Higher than the anwser')
                    continue
                elif number < random_number:
                    init_log('record.txt')
                    print('*********')
                    print('Lower than the anwser')
                    continue
                elif number == random_number:
                    init_log('record.txt')
                    print('*********')
                    print('恭喜你!只用了{}次就赢得了游戏'.format(count))
                    break

if __name__ == '__main__':
    guess_number()
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值