python小游戏------经典猜数字【目标4A0B】

        在很多年以前,玩过一款猜数字游戏,据说曾是西方课堂上教师用来训练学生反应与逻辑能力的(咱也不清楚是真是假,反正好玩就完事呗);这个猜数字游戏大致规则是:系统生成一个四位数,四个位置上的数字各不相同,由玩家进行猜测这个四位数提交给系统;如果数字正确但位置不正确为1B,如果数字正确且位置正确为1A;玩家在10次机会内争取获得系统反馈的4A0B

        话不多说,上python代码:

         

import random

def generate_number():
    digits = list(range(10))
    random.shuffle(digits)
    return digits[:4]

def guess_number():
    target = generate_number()
    for i in range(10):
        guess1 = input("请输入一个四位数:")
        guess = [int(d) for d in guess1]
        if len(guess) != 4 or len(set(guess)) != 4:
            print("输入有误,请输入一个各位不重复的四位数")
            continue
        a = sum([1 for j in range(4) if guess[j] == target[j]])
        b = sum([1 for j in range(4) if guess[j] in target and guess[j] != target[j]])
        print("第{}次输入内容:{};输入结果:{}A{}B".format(i+1, guess1, a, b))
        if a == 4:
            print("恭喜你猜对了!")
            break
    else:
        print("很遗憾,你没有在10次内猜对数字,正确答案是:{}".format(''.join(map(str, target))))

guess_number()

我本地测试效果如下:

 需要的同学可自行拷贝代码或打包(不会打包的可参考https://blog.csdn.net/weixin_45141782/article/details/104416583?spm=1001.2014.3001.5502

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值