哈希算法----猜词游戏

def gethint(secret, guess):
    secret_dict = {}      # 创建字典  用于存储公牛和母牛的数量(AB)
    guess_dict = {}
    A = 0                 # 公牛  母牛
    B = 0
    for i in range(len(secret)):     # 遍历谜底词语   要求猜的词语长度和谜底词语长度一致
        if secret[i] == guess[i]:    # 谜底和猜的一致  A+1
            A += 1
            print(A)
        else:
            if secret[i] in secret_dict:    # 标注
                secret_dict[i] += 1
            else:
                secret_dict[i] = 1

            if guess[i] in guess_dict:
                guess_dict[i] += 1
            else:
                guess_dict[i] = 1
    for dight in secret_dict:
        if dight in guess_dict:
            print(secret_dict, guess_dict)
            # 两个数组中的最小值;来判断B的数量
            B += min(secret_dict[dight], guess_dict[dight])

    return str(A) + 'A' + str(B) + 'B'


print(gethint('2018', '3333'))

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值