Python学习记录-1

之前学过Python,后来弄丢了,现在跟着B站的黑马视频从头学起
在这里做一些学习的记录

记录-1

下面展示一些 内联代码片

import random
print('游戏说明:\n玩家选择数字位数后,系统随机生成一个1000以上的n位数字,由用户进行猜测')
print('每次猜测反馈结果:xAyB\nxA分别表示猜对数字和位置的个数,yB表示猜对数字但未猜对位置的个数\n例:随机数字是’1234')
print('猜测数字是’1328‘\n反馈结果:1A2B,表示本次猜测有1位(数字1)数字对且位置对,有2位(数字2、3)数字对但位置不对')
print('输入#重新开始\n输入%退出游戏')
while True:
    level = int(input('请选择数字位数:'))   #4--32位
    if level not in range(4, 33):
        print('输入错误!')
        continue
    x = str(random.randint(10**(level-1), 10**level))
    listrandom_num = []
    listplayer_num = []
    list_numbers = []
    list_num_num = []
    dictrandom_num = {}
    dictplayer_num = {}
    dict_numbers = {}
    dict_num_num = {}
    list_num = [str(i) for i in range(0, 10)]
    for i in range(0, level):
        dictrandom_num[i] = x[i:(i+1)]
    listrandom_num = list(dict.values(dictrandom_num))
    for i in range(0, 10):
        dict_numbers[i] = listrandom_num.count(str(i))
    list_numbers = list(dict_numbers.values())
    for i in range(0, 3*level):
        print('剩余机会:%d' % (4*level-i))
        c = str(input('你给出的数字是:'))
        if c == '#':
            break
        if c == '%':
            exit()
        if c == x:
            print("游戏胜利")
            break
        A = B = 0
        if len(c) != level:
            print('输入错误!')
            continue
        for z in range(0, level):
            dictplayer_num[z] = c[z:(z+1)]
        listplayer_num = list(dict.values(dictplayer_num))
        for z in range(0, 10):
            dict_num_num[z] = listplayer_num.count(str(z))
        list_num_num = list(dict_num_num.values())
        for z in range(0, 10):
            if list_numbers[z] <= list_num_num[z]:
                B += list_numbers[z]
            elif list_numbers[z] > list_num_num[z]:
                B += list_num_num[z]
        for z in range(0, len(listrandom_num)):
            if listplayer_num[z] == listrandom_num[z]:
                A += 1
        B = B - A
        print(A, 'A', B, 'B', sep='')

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明宗元

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值