⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 caishuzi.py

📁 #猜数字 for S60 #玩法按照文曲星上的(印象中) #4个数字
💻 PY
字号:
#猜数字 for S60
#玩法按照文曲星上的(印象中)
#4个数字,不重复,范围(1-9)

import appuifw
from random import randint

def initializeSecret(): 
    secret = []
    for i in range(4):
        num = randint(1, 9)
        while num in secret:
            num = randint(1, 9)
        secret = secret + [num]
    return secret

def checkGuess(secret, guess):
    bulls, cows = 0, 0 
    for i in range(4):
        if guess[i] in secret:
            if guess[i] == secret[i]:
                bulls = bulls + 1
            else:
                cows = cows + 1
    return (bulls, cows)

def processGuess(gue):
    guess = []
    if len(gue) != 4:
        return guess
    for i in range(4):
        digit = gue[i]
        try:
            num = int(digit)
            if not 1 <= num <= 9:
                return guess
        except:
            return guess
        if not num in guess:
            guess = guess + [num]
    return guess   

goon = True
while goon:
    secret = initializeSecret()
    guessTime = 0
    while guessTime < 8:
        gue = appuifw.query(u'Please input four digits:', 'number')
        guess = processGuess(str(gue))
        if len(guess) != 4:
            appuifw.note(u"Invalid input")
            continue
        print guess
        guessTime = guessTime + 1
        result = checkGuess(secret, guess)
        if result[0] == 4:
            appuifw.note(u"You guess it! Congratulations!")
            guessTime = 0
            break
        print result
        appuifw.note(u'%dA%dB'%(result[0], result[1]))
    if guessTime >= 8:
        appuifw.note(u"Sorry, you failed!")
    goon = appuifw.query(u"Next Number?", 'query')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -