利用三局两胜制石头剪刀布练习python条件判断与循环

以字符串'石头','剪刀','布'的方式计算出胜负,需把每种方法一一列举,此方法较为繁琐,因此我们用012分别代替石头剪刀布

我们需要分别将用户,电脑赢的次数,平局的计数,以便于我们通过他们计算出胜负平局。并且我们需要一个随机函数来模拟电脑所出的方式。因此可以先写出如下代码:

from random import randint

user_win = 0
computer_win = 0
deuce = 0

我们需要进行三局游戏,所以需要通过for循环实现,并且要把游戏代码放入循环体中,游戏的胜负可以通过用户与电脑的差值计算得出。

for index ,value in  enumerate(range(3)):
    user_num = input('012')
    user_num = int(user_num)
    computer_num = randint(0,2)
    sum = user_num - computer_num
    if sum == -1 or sum == 2:
        print('第{}局玩家胜'.format(index + 1))
        user_win += 1
    elif sum == 0:
        print('第{}局平局'.format(index + 1))
        deuce += 1
    else:
        print('第{}局电脑胜'.format(index + 1))
        computer_win += 1
    print('--------------第{}局结束------------'.format(index + 1))

此时可以通过玩家与电脑的获胜次数来判断胜负,但此方法需要执行三次循环之后才能计算出,因此要写在循环体外:

if user_win > computer_win:
    print('玩家胜')
elif user_win == computer_win:
    print('平局')
else:
    print('电脑胜')

此时若连胜两次此程序不能直接退出,需要改进,在循环体内末尾加判断:

    if compunter_win == 2 :
        print('电脑胜')
        break
    elif user_win == 2:
        print('玩家胜')
        break
    else:
        # 平1局 一胜一负  平两局 赢一局  平三局
        if deuce == 1 and sum == 0 and index == 2:
            print('平局')
        elif deuce == 3 :
            print('平局')
        elif deuce == 2 and index == 2:
            if sum == 1:
                print('玩家胜')
            else:
                print('电脑胜')
此时执行的到三局两胜制石头剪刀布.





猜你喜欢

转载自blog.csdn.net/za_pai_xiao_ba/article/details/80835824