ab16838123 发表于 2020-3-21 21:02:44

一个猜数的游戏

大学之中玩过冒险岛出的一个猜数游戏,规则如下:

小游戏里有三个符号,分别是 ○△×
对应各数字的状态,举个例子。正确答案是1 2 3,你猜的是132,那么符号就显示为○△△。符号具体意思如下:

○代表你所猜测的数字正确,位置正确。
△代表你猜的数字正确,位置不正确。
×代表你猜的数字不正确,位置也不正确。
每次输入你的三个数,返回结果,三位数都猜对结束,4次机会。
再比如说:答案是:168,我输入:184,会出现○△×。输入812,会出现△△×。输入168,会出现○○○。

那么问题来了,能不能让我输入这三位数给python,告诉python结果如何,让python帮我猜出剩余的可能结果???

乘号 发表于 2020-3-22 08:54:22

慢慢学,学到后面自己就能编了{:10_256:}

wangka 发表于 2020-3-22 10:50:20

你去看看第10课

_荟桐_ 发表于 2020-3-22 14:19:11

有改进的地方请提出

# -*- coding: gbk -*-
import random

result = '×××'
time = 4
count = 1

def chushi():
        global secret
        a = str(random.randint(0,9))
        b = str(random.randint(0,9))
        c = str(random.randint(0,9))
        secret = a+b+c
        return secret
       
def panduan(secret,guess):
        global result
        for i in range(3):
                if guess in secret:
                        if guess == secret:
                                result = result[:i] + '○' + result
                        else:
                                result = result[:i] + '△' + result
        return result
       
chushi()
print(secret)
while 1:
        if count == 1:
                cao = '猜猜我想的哪个数字:'
        else:
                cao = '重猜一遍吧:'
                count = 0
       
        guess = input(cao)
       
        while (not guess.isdigit()) or (len(guess) != 3):
                print('请输入一个三位数')
                guess = input(cao)
        time -= 1
        xi = panduan(secret,guess)
       
        print(xi)
        if xi == '○○○':
                print('OHohhhhhhhhhhhhhhhh!!')
                print('猜对了!')
                break
        elif xi == '×××':
                print('T_T 你是认真的吗?')
        else:
                print('猜错了')
               
        if time == 0:
                print('机会用完了...')
                break

_荟桐_ 发表于 2020-3-22 14:19:42

看我的代码多长{:10_266:}{:10_266:}{:10_266:}

陈尚涵 发表于 2020-3-24 15:10:12

那代码不对呀,我试过得!
页: [1]
查看完整版本: 一个猜数的游戏