2021-08-03

关羽 和张飞 正在玩 剪刀石头布 的游戏。

写一个函数calculate_score, 参数是列表, 里面包含了n个元素也是列表。

比如 像这样 [[“剪刀”, “石头”], [“布”, “剪刀”], [“剪刀”, “剪刀”]]

n 个元素代表 n局 比赛,用列表表示,比如 [“剪刀”, “石头”]

其中第1个元素表示关羽打出的手势,第2个元素是张飞打出的手势。

函数要计算出谁赢得次数多,输出比赛结果。

如果他们打成平手,输出“平局”。

比如:

calculate_score([[“剪刀”, “石头”], [“布”, “剪刀”], [“剪刀”, “剪刀”]])
输出应该是: 张飞 3局赢了2局,平手一局,张飞胜出

calculate_score([[“布”, “石头”], [“石头”, “剪刀”], [“石头”, “剪刀”]])
输出应该是: 关羽 3局赢了3局,关羽胜出

下面是我写的:

def calculate_score(list):
    guanyu=0
    zhangfei=0
    pingjun=0
    for l in list:
        if (l[0]=='剪刀' and l[-1]=='布') or (l[0]=='石头' and l[-1]=='剪刀') or (l[0]=='布' and l[-1]=='石头'):
            guanyu=guanyu+1
        elif l[0]==l[-1]:
            pingjun=pingjun+1
        else:
            zhangfei=zhangfei+1
        print('关羽出了:'+l[0],'张飞出了:'+l[-1])
    # 关羽赢了
    if guanyu >zhangfei:
        if pingjun==0:
            print(f'关羽{len(list)}局赢了{guanyu}局,关羽胜出')
        else:
            print(f'关羽{len(list)}局赢了{guanyu}局,平局{pingjun}局,关羽胜出')
    # 张飞赢了
    elif guanyu<zhangfei:
        if pingjun==0:
            print(f' 张飞{len(list)}局赢了{zhangfei}局,张飞胜出')
        else:
            print(f' 张飞{len(list)}局赢了{zhangfei}局,平手{pingjun}局,张飞胜出')
    # 平局
    elif guanyu==zhangfei:
        print(f' {len(list)}轮比赛,关羽赢了{guanyu}局,张飞局赢了{zhangfei}局,{pingjun}轮平局,无法分出胜负')
    else:
        print(f' {len(list)}轮平局,无法分出胜负')
    print({zhangfei},{guanyu},{pingjun})

list=[['剪刀','剪刀'],['剪刀','剪刀'],['剪刀','剪刀']]
calculate_score(list)
print(list)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值