python小练习——猜谜游戏

import random


class GuessNum(object):

    def __init__(self, max, min):
        self.max = max
        self.min = min
        self.num_func1 = 4   # 方法1:猜大小
        self.num_func2 = 4   # 方法2:压缩一半大小
        self.num_func3 = 1

    def Num(self):
        random.seed()
        self.num = random.randint(self.max, self.min)
        return self.num

    def func1(self, guess):
        if self.num_func1 == 0:
            print('机会用完了!')
        else:
            self.num_func1 -= 1
            if guess > self.num:
                print('太大了,在来一次吧!')
                self.max = guess
            elif guess < self.num:
                print('还是太大了!继续吧!')
                self.min = guess
            else:
                print('好滴吧,记住这个数字,把剩下的机会用完吧,虽然你猜中了')

    def func2(self):
        if self.num_func2 == 0:
            print('机会用完了!')
        else:
            self.num_func2 -= 1
            random.seed()
            self.min = random.randint(self.num, self.min)
            random.seed()
            self.max = random.randint(self.max, self.num)
            print('现在的范围是:'+str(self.min)+'~'+str(self.max))

    def func3(self):
        if self.func3 == 0:
            print('机会已用完')
        else:
            self.num_func3 -=1
            if (self.num % 2):
                print('奇数')
            else:
                print('偶数')

    def func4(self, guess):
        if (guess == self.Num()):
            print('好滴吧,没得玩了。为啥?被你猜中了呗')
        else:
            print('抱歉哦,猜错咯,再来一把呗')

    def Guess(self):
        num = self.Num()

        while (self.num_func1 | self.num_func2 | self.num_func3):
            print('你有三个选择:\n'
                  '选择a:你猜一个数,我告诉你大小\n'
                  '选择b:系统将随机为你压缩大小\n'
                  '选择c:我直接告诉你是奇数还是偶数\n'
                  '请输入你的选择,如果已有答案,请直接输入数字:')

            num_in = input()

            if (num_in == 'a'):
                print('请输入你的数据:')
                num_in = int(input())
                self.func1(num_in)
            elif (num_in == 'b'):
                self.func2()
            elif (num_in == 'c'):
                self.func3()
            else:
                self.func4(num_in)
        print('机会已全部用完,请输入你的数字:')
        num_in = int(input())
        self.func4(num_in)


guess = GuessNum(0, 1000)
guess.Guess()```

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值