如何使用python为我的游戏创建计分计数器?

如何使用python为我的游戏创建计分计数器?,python,Python,嗨,我的朋友帮我用python编写了这个游戏。但是我想在我的程序中添加一个分数计数器——分数计数器将记录用户输赢的次数。 如果你们能告诉我如何在我的比赛中加分,或者告诉我我会多么感激。我知道分数计数器应该是我的主要功能的一部分,但我不知道如何添加分数计数器,因此我在这里 我使用的是PYTHON版本2.7.6 几个月前刚开始编程的初学者:D 谢谢,这是我的代码: import random def chkValidInput (userInput): chkNumber = Fa

嗨,我的朋友帮我用python编写了这个游戏。但是我想在我的程序中添加一个分数计数器——分数计数器将记录用户输赢的次数。 如果你们能告诉我如何在我的比赛中加分,或者告诉我我会多么感激。我知道分数计数器应该是我的主要功能的一部分,但我不知道如何添加分数计数器,因此我在这里

我使用的是PYTHON版本2.7.6 几个月前刚开始编程的初学者:D 谢谢,这是我的代码:

import random 



def chkValidInput (userInput):

    chkNumber = False 


    for amtChar in range(0, len( userInput ) ):


        for aNumber in range(0, 10):

            if userInput[amtChar] == str(aNumber):
                chkNumber = True
                break
            elif userInput[amtChar] != str(aNumber):
                chkNumber = False

        if chkNumber == False:
            return False


    return True


def evaluateBet(choice):




    randNum = 0

    randNum = random.randrange(1,14)

    print "The random number is: " + str(randNum)

    if choice == "high" and randNum > 7:
        print "You Win!"
        return True               
    elif choice == "low" and randNum < 7:
        print "You Win!"
        return True
    else: 
        print "You Lose!"
        return False



def main():



    print "Commencing HiLo.py...\n"


    random.seed(None)


    points = 1000
    wager = 0
    userInput = None
    programLoop = True 
    validInput = False


    while programLoop == True:


        print "Points remaining: " + str( points )


        wager = 0
        userInput = None
        validInput = False


        while validInput == False:
            userInput = raw_input("\nMake a wager: ")

            validInput = chkValidInput(userInput)

            if validInput == False:
                print "Invalid Input. It must be a positive Number. Try Again."

            elif validInput == True: 
                if int( userInput ) > points:
                   validInput = False
                    print "You don't have enough points to make that wager. Try Again."
                elif int( userInput ) == 0:
                    validInput = False
                    print "Your wager must be greater than 0. Try Again."

        wager = int (userInput)
        points = points - wager

        print "Points remaining: " + str( points )
        print "Wager: " + str( wager )


        validInput = False 

        while validInput == False:
            userInput = raw_input("\nPlace a bet: Either type 'High' or 'Low': ")
            userInput = userInput.lower() 
            if userInput == "high" or userInput == "low": 
                validInput = True
            else:
                 print "You may only choose to type from the options 'high' or 'low' "


        if evaluateBet(userInput) == True:
            points = ( points + (wager * 2) )
            wager = 0

        print "Points remaining: " + str( points )


        validInput = False 

        if points <= 0:
            print "You do not have anymore points; game over."
            programLoop = False
        else:
            while validInput == False:
                userInput = raw_input("\nWould you like to play again?: Type 'yes' or 'no': ")
                userInput = userInput.lower() 

                if userInput == "yes" or userInput == "no": 
                    validInput = True
                else:
                    print "You may only choose to type from the options 'yes' or 'no' "

            if userInput == "yes":
                programLoop = True
            elif userInput == "no":
                programLoop = False



main() 
随机导入
def chkValidInput(用户输入):
chkNumber=False
对于范围(0,len(userInput))中的amtChar:
对于范围(0,10)内的数量:
如果用户输入[amtChar]==str(一个成员):
chkNumber=True
打破
elif userInput[amtChar]!=str(编号):
chkNumber=False
如果chkNumber==False:
返回错误
返回真值
def EvaluateSet(选项):
randNum=0
randNum=random.randrange(1,14)
打印“随机数为:”+str(随机数)
如果选项==“高”且randNum>7:
打印“你赢了!”
返回真值
elif choice==“低”且randNum<7:
打印“你赢了!”
返回真值
其他:
打印“你输了!”
返回错误
def main():
打印“开始HiLo.py…\n”
随机。种子(无)
点数=1000
赌注=0
用户输入=无
programLoop=True
validInput=假
当programLoop==True时:
打印“剩余点数:”+str(点数)
赌注=0
用户输入=无
validInput=假
当validInput==False时:
用户输入=原始输入(“\n下注:”)
validInput=chkValidInput(用户输入)
如果validInput==False:
打印“无效输入。它必须是正数。请重试。”
elif validInput==真:
如果int(userInput)>点:
validInput=假
打印“您没有足够的点数进行赌注。请重试。”
elif int(用户输入)=0:
validInput=假
打印“您的赌注必须大于0。请重试。”
下注=整数(用户输入)
积分=积分-下注
打印“剩余点数:”+str(点数)
打印“下注:+str(下注)
validInput=假
当validInput==False时:
userInput=原始输入(“\n下注:键入“高”或“低”:”)
userInput=userInput.lower()
如果userInput==“高”或userInput==“低”:
validInput=True
其他:
打印“您只能从“高”或“低”选项中选择键入”
如果EvaluateSet(userInput)=真:
点数=(点数+(下注*2))
赌注=0
打印“剩余点数:”+str(点数)
validInput=假

如果分数您已经拥有了制作分数计数器所需的几乎所有代码,只需要在这里和那里添加一些东西

def main()
的正下方定义
wins
LOSS
变量,两者都等于0

def main():
    wins = 0
    losses = 0
main()函数的此行下方

while programLoop == True:
把这些打印报表打印出来,这样分数就可以打印出来了

print "Wins: " + str(wins)
print "Losses: " + str(losses)
现在更改这个if语句

if evaluateBet(userInput) == True:
    points = ( points + (wager * 2) )
    wager = 0

如果您正确地添加了这些代码行,您现在应该有一个功能性的分数计数器

最后一件事,代码中存在缩进问题

elif validInput == True: 
                if int( userInput ) > points:
                   validInput = False
                    print "You don't have enough points to make that wager. Try Again."
应该是

elif validInput == True: 
                if int( userInput ) > points:
                    validInput = False
                    print "You don't have 
有足够的分数来下注。再试一次。”

您只需将
validInput=False
向右移动一个空格即可

编辑:完整代码

import random 

def chkValidInput (userInput):
    chkNumber = False 

    for amtChar in range(0, len( userInput ) ):
        for aNumber in range(0, 10):
            if userInput[amtChar] == str(aNumber):
                chkNumber = True
                break
            elif userInput[amtChar] != str(aNumber):
                chkNumber = False
        if chkNumber == False:
            return False

    return True


def evaluateBet(choice): 

    randNum = 0

    randNum = random.randrange(1,14)

    print "The random number is: " + str(randNum)

    if choice == "high" and randNum > 7:
        print "You Win!"
        return True               
    elif choice == "low" and randNum < 7:
        print "You Win!"
        return True
    else: 
        print "You Lose!"
        return False

def main():

    wins = 0 
    losses = 0

    print "Commencing HiLo.py...\n"

    random.seed(None)

    points = 1000
    wager = 0
    userInput = None
    programLoop = True 
    validInput = False

    while programLoop == True:

        print "Wins: " + str(wins)
        print "Losses: " + str(losses)

        print "Points remaining: " + str( points )

        wager = 0
        userInput = None
        validInput = False

        while validInput == False:
            userInput = raw_input("\nMake a wager: ")

            validInput = chkValidInput(userInput)

            if validInput == False:
                print "Invalid Input. It must be a positive Number. Try Again."

            elif validInput == True: 
                if int( userInput ) > points:
                    validInput = False
                    print "You don't have enough points to make that wager. Try Again."
                elif int( userInput ) == 0:
                    validInput = False
                    print "Your wager must be greater than 0. Try Again."

        wager = int (userInput)
        points = points - wager

        print "Points remaining: " + str( points )
        print "Wager: " + str( wager )

        validInput = False 

        while validInput == False:
            userInput = raw_input("\nPlace a bet: Either type 'High' or 'Low': ")
            userInput = userInput.lower() 
            if userInput == "high" or userInput == "low": 
                validInput = True
            else:
                 print "You may only choose to type from the options 'high' or 'low' "

        if evaluateBet(userInput) == True:
            points = ( points + (wager * 2) )
            wager = 0
            wins += 1
        else:
            losses += 1

        print "Points remaining: " + str( points )

        validInput = False 

        if points <= 0:
            print "You do not have anymore points; game over."
            programLoop = False
        else:
            while validInput == False:
                userInput = raw_input("\nWould you like to play again?: Type 'yes' or 'no': ")
                userInput = userInput.lower() 

                if userInput == "yes" or userInput == "no": 
                    validInput = True
                else:
                    print "You may only choose to type from the options 'yes' or 'no' "

            if userInput == "yes":
                programLoop = True
            elif userInput == "no":
                print "Final wins and losses"
                print "Wins: " + str(wins)
                print "Losses: " + str(losses)
                programLoop = False

main() 
随机导入
def chkValidInput(用户输入):
chkNumber=False
对于范围(0,len(userInput))中的amtChar:
对于范围(0,10)内的数量:
如果用户输入[amtChar]==str(一个成员):
chkNumber=True
打破
elif userInput[amtChar]!=str(一个成员):
chkNumber=False
如果chkNumber==False:
返回错误
返回真值
def EvaluateSet(选项):
randNum=0
randNum=random.randrange(1,14)
打印“随机数为:”+str(随机数)
如果选项==“高”且randNum>7:
打印“你赢了!"
返回真值
elif choice==“低”且randNum<7:
打印“你赢了!"
返回真值
其他:
打印“你输了!"
返回错误
def main():
wins=0
损失=0
打印“开始HiLo.py…\n”
随机。种子(无)
点数=1000
赌注=0
用户输入=无
programLoop=True
validInput=假
当programLoop==True时:
打印“Wins:+str(Wins)
打印“损失:”+str(损失)
打印“剩余点数:”+str(点数)
赌注=0
用户输入=无
validInput=假
当validInput==False时:
用户输入=原始输入(“\n下注:”)
validInput=chkValidInput(用户输入)
如果validInput==False:
打印“无效输入”。它必须是正数。再试一次。”
elif validInput==真:
如果int(userInput)>点:
validInput=假
打印“你没有足够的点数来下注。再试一次。”
elif int(用户输入)=0:
validInput=假
打印“您的赌注必须大于0。再试一次。”
下注=整数(用户输入)
积分=积分-下注
打印“剩余点数:”+str(点数)
打印“下注:+str(下注)
validInput=假
当validInput==False时:
用户输入=原始输入(“\nLAC
import random 

def chkValidInput (userInput):
    chkNumber = False 

    for amtChar in range(0, len( userInput ) ):
        for aNumber in range(0, 10):
            if userInput[amtChar] == str(aNumber):
                chkNumber = True
                break
            elif userInput[amtChar] != str(aNumber):
                chkNumber = False
        if chkNumber == False:
            return False

    return True


def evaluateBet(choice): 

    randNum = 0

    randNum = random.randrange(1,14)

    print "The random number is: " + str(randNum)

    if choice == "high" and randNum > 7:
        print "You Win!"
        return True               
    elif choice == "low" and randNum < 7:
        print "You Win!"
        return True
    else: 
        print "You Lose!"
        return False

def main():

    wins = 0 
    losses = 0

    print "Commencing HiLo.py...\n"

    random.seed(None)

    points = 1000
    wager = 0
    userInput = None
    programLoop = True 
    validInput = False

    while programLoop == True:

        print "Wins: " + str(wins)
        print "Losses: " + str(losses)

        print "Points remaining: " + str( points )

        wager = 0
        userInput = None
        validInput = False

        while validInput == False:
            userInput = raw_input("\nMake a wager: ")

            validInput = chkValidInput(userInput)

            if validInput == False:
                print "Invalid Input. It must be a positive Number. Try Again."

            elif validInput == True: 
                if int( userInput ) > points:
                    validInput = False
                    print "You don't have enough points to make that wager. Try Again."
                elif int( userInput ) == 0:
                    validInput = False
                    print "Your wager must be greater than 0. Try Again."

        wager = int (userInput)
        points = points - wager

        print "Points remaining: " + str( points )
        print "Wager: " + str( wager )

        validInput = False 

        while validInput == False:
            userInput = raw_input("\nPlace a bet: Either type 'High' or 'Low': ")
            userInput = userInput.lower() 
            if userInput == "high" or userInput == "low": 
                validInput = True
            else:
                 print "You may only choose to type from the options 'high' or 'low' "

        if evaluateBet(userInput) == True:
            points = ( points + (wager * 2) )
            wager = 0
            wins += 1
        else:
            losses += 1

        print "Points remaining: " + str( points )

        validInput = False 

        if points <= 0:
            print "You do not have anymore points; game over."
            programLoop = False
        else:
            while validInput == False:
                userInput = raw_input("\nWould you like to play again?: Type 'yes' or 'no': ")
                userInput = userInput.lower() 

                if userInput == "yes" or userInput == "no": 
                    validInput = True
                else:
                    print "You may only choose to type from the options 'yes' or 'no' "

            if userInput == "yes":
                programLoop = True
            elif userInput == "no":
                print "Final wins and losses"
                print "Wins: " + str(wins)
                print "Losses: " + str(losses)
                programLoop = False

main()