2 猜数字的游戏

"""Bagels, a number puzzle game.
猜数游戏
"""

from random import sample, shuffle

digits = 3
guesses = 10

print('我想了一个', digits, '位数.')
print('你可以试试猜出来')
print('=下面是一些有助于你猜出的规则')
print('当你猜出的数字满足以下我会提示')
print('  pico:         有一个数字猜对了但是位置不对.')
print('  fermi:        有一个数字猜对了并且位置正确')
print('  bagels:       没有数字正确.')
print('数字中没有重复的数字。')


letters = sample('0123456789', digits)

if letters[0] == '0':
    letters.reverse()

number = ''.join(letters)
print(number)

print('我已经想好了')
print('你有', guesses, '次机会猜')

counter = 1

while True:
    print('Guess #', counter)
    guess = input()

    if len(guess) != digits:
        print('错误的位数  再猜')
        continue

    # Create the clues.

    clues = []

    for index in range(digits):
        if guess[index] == number[index]:
            clues.append('fermi')
        elif guess[index] in number:
            clues.append('pico')

    shuffle(clues)

    if len(clues) == 0:
        print('bagels')
    else:
        print(' '.join(clues))

    counter += 1

    if guess == number:
        print('You got it!')
        break

    if counter > guesses:
        print('You ran out of guesses. The answer was', number)
        break

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值