石头、剪刀、布游戏

代码:

import random
li = [0,"石头","剪刀","布"]

def pk(computer,player):
    print("电脑:", li[computer])
    print("玩家:", li[player])
    if computer == player:
        print("平局\n")
    elif computer == 1 and player == 3:
        print("玩家获胜\n")
    elif player == 1 and computer == 3:
        print("电脑获胜\n")
    else:
        if computer < player:
            print("电脑获胜\n")
        else:
            print("玩家获胜\n")

while True:
    print("1石头  2剪刀  3布  0退出    请输入:")
    player = int(input())
    if player == 0:
        print("已退出")
        break
    elif player == 1 or player == 2 or player == 3:
        pass
    else:
        print("输入有误\n")
        continue
    computer = random.choice([1,2,3])
    pk(computer, player)

代码解析:

玩法:

玩家输入:1、2、3、0 (1石头 2剪刀 3布 0退出)。
然后电脑随机生成 1 或 2 或 3。
根据数字对应的内容和石头剪刀布的游戏规则,决出胜负。
若要退出,则输入 0。

代码剖析:

细心观察的玩家可以发现:我们在控制台输入的数字,以及电脑随机生成的数字,其实都是下标,即代码开头定义的那个列表的下标。
通过while 循环,保证游戏持续运行。
在while 循环里,实现玩家输入和电脑随机生成,以及判断玩家输入数字的合法性。最后调用 pk() 方法。
在 pk() 方法里,通过下标获取内容,并根据规则决出胜负。
若要退出,玩家输入 0 即可。

功能演示


希望大家玩得愉快!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值