返回列表 发帖

[原创代码] AB猜数字Python本地版

本帖最后由 ivor 于 2017-8-19 08:15 编辑
# -*- coding:utf-8 -*-
# AB猜数字
import re
import random
def getKey(*args):
    array = [i for i in range(10)]
    random.shuffle(array)
    key = ''
    for i in range(4):
        key = key +str(array[i])
    if key[0] == '0':
        input("here is %s" %key)
        key = getKey()
    return key
k = getKey()
while True:
    A = 0
    B = 0
#    print("===========")
    print("答案:" + k)
    number = input("请输入4位数字:")
    try:
        if int(number) < 0:
            raise
    except Exception as e:
        print("必须为数字")
        continue
    if len(number) != 4:
        print("位数不正确")
        continue
    elif len(set(number)) < 4:
        print("不允许有重复数字")
        continue
    else:
        for i in range(4):
            if k[i] == number[i]:
                A += 1
            elif k.find(number[i]) != -1:
                B += 1
        if A == 4:
        #       print("正确")
            k = getKey()
    print("%dA%dB" % (A, B))COPY
1

评分人数

#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

我之看别人代码学会的。
if len(set(str))>4 else 有重复数字。
2

评分人数

    • happy886rr: set**好技术 + 1
    • ivor: 时间长没用,忘记有这招了,谢谢技术 + 1
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

本帖最后由 523066680 于 2017-8-18 20:23 编辑

也叫 Bulls and Cows / The game of MOO

你要考虑别人输入ABCD 或者其他字母作为占位符的情况
1

评分人数

    • ivor: 已改正技术 + 1
[url=][/url]

TOP

我居然没有意识自己把符号写反了。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

返回列表