得分比较与胜负判断

最后,我还需要一个能够比较参与者的得分并判断胜负情况的函数,这个函数比较简单,只需要根据游戏规则,书写if和elif组合的条件控制即可。

不过,为了使程序人性化,我们需要在分出胜负的时候,在屏幕上给玩家做出提示。例如:你赢啦!你输啦!你得了几分,电脑得了几分之类的死也死得明白。。。

注意,之前的函数当设计参与者时,我都用了变量player来代替,那是由于之前的函数每次只作用于一个参与者。不过对于得分比较来说,每次都必然涉及参与者双方。

我给这个函数取名compare:

def compare(computer, user):
    '对参与者的总分进行比较并判出胜负'
    computer_total = evaluate(computer) #在这个compare函数中,用到了上一节写的evaluate函数
    user_total = evaluate(user)

    #注意字符串'\n'表示换行,换行显示是为了让用户看得更清楚

    if computer_total > user_total:
        print('\n你输啦!\n你的总点数为:', user_total, '\n庄家总点数为:', computer_total, sep = '')

    elif computer_total < user_total:
        print('\n你赢啦!\n你的总点数为:', user_total, '\n庄家总点数为:', computer_total, sep = '')
        
    elif computer_total == user_total == 21 and 2 == len(computer) < len(user):
        print('\n你输啦!庄家拿到了黑杰克!')
        
    elif computer_total == user_total == 21 and 2 == len(user) < len(computer):
        print('\n你赢啦!你拿到了黑杰克!')
        
    else:
        print('\n平局!\n你的总点数为:', user_total, '\n庄家总点数为:', computer_total, sep = '')

 

FAQ
Q:这个函数的参数computer和user是哪来的?

A:和发牌函数与计分函数参数中的player一样,这两个都是我自己取的变量名称。实际使用compare函数时,可以使用其他的变量将其代替。如果对此感到费解,不用纠结,继续学习后面的小节会逐渐理解。

 
如果还有什么问题或者发现了文章的错误,欢迎给我留言!邮箱可以随便乱写~

发表评论

电子邮件地址不会被公开。 必填项已用*标注