比菜鸟还菜~蜂鸟 2022-02-14 15:26 采纳率: 100%
浏览 77
已结题

蜂鸟第一问:如何使用print记录代码执行的结果并输出在屏幕

#一个简单的猜拳游戏,有个问题想请教一下各位,游戏结束后怎么使用print记录下每次猜拳的结果,并作出判断,三局两胜内谁胜谁负?

youxi=1
while 1==1:
    print('猜拳游戏','第',youxi,'次')
    youxi=youxi+1
    A=int(input('A选手请出拳,1代表剪刀,2代表石头,3代表布 :'))
    B=int(input('B选手请出拳,1代表剪刀,2代表石头,3代表布 :'))
    if (A==1 or A==2 or A==3) and (B==1 or B==2 or B==3):
        if A==B:
            print('平手')
        elif A==1:
            if B==2:
                print('B赢')
            else:
                print('A赢')
        elif A==2:
            if B==1:
                print('A赢')
            else:
                print('B赢')
        elif A==3:
            if B==1:
                print('B赢')
            else :
                print('A赢')
    else:
        print('请输入正确的数')
    if youxi>3:
        break
print('三局两胜,愿赌服输')

  • 写回答

3条回答 默认 最新

  • 愿此后再无WA 新星创作者: python技术领域 2022-02-14 15:37
    关注

    题主您好稍微跟你修改了下代码。您没有考虑到都是平手的情况,应该是谁率先赢两次谁胜利

    
        youxi = 1
        A_win = 0
        B_win = 0
        suit = {1: "石头", 2: "剪刀", 3: "布"}
        res = {}
        while True:
            print('猜拳游戏', '第', youxi, '次')
    
            A = int(input('A选手请出拳,1代表剪刀,2代表石头,3代表布 :'))
            B = int(input('B选手请出拳,1代表剪刀,2代表石头,3代表布 :'))
            if (A == 1 or A == 2 or A == 3) and (B == 1 or B == 2 or B == 3):
                if A == B:
                    print('平手')
                elif A == 1:
                    if B == 2:
                        print('B赢')
                        B_win += 1
                    else:
                        print('A赢')
                        A_win += 1
                elif A == 2:
                    if B == 1:
                        print('A赢')
                        A_win += 1
                    else:
                        print('B赢')
                        B_win += 1
                elif A == 3:
                    if B == 1:
                        print('B赢')
                        B_win += 1
                    else:
                        print('A赢')
                        A_win += 1
                res[f"第{youxi}局"] = f"A出{suit[A]},B出{suit[B]}"
                youxi = youxi + 1
            else:
                print('请输入正确的数')
    
            if A_win == 2 or B_win == 2:
                # print('三局两胜,愿赌服输')
                print("A胜利") if A_win > B_win else print("B胜利")
                break
        for i in res.items():
            print(i)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月22日
  • 已采纳回答 2月14日
  • 创建了问题 2月14日