Python石头剪刀布游戏

  • 简单的一个石头剪刀布游戏
import random


def result(num):
    if num == 1:
        ret = '石头'
    elif num == 2:
        ret = '剪刀'
    else:
        ret = '布'
    return ret


def games(nums):
    for i in range(nums):
        try:
            # 得到键盘内容
            player_num = input('请输入 [ 1. 石头 2. 剪刀 3. 布] 退出请输入 exit     ')
            # 如果键盘输入的是exit, 就直接跳出当前循环, 结束程序
            if player_num == 'exit':
                break

            # 判断用户输入的内容是不是字符串类型的 1 2 3 如果不是, 则主动抛出异常
            if player_num not in ['1', '2', '3']:
                raise 123

            # 用于把数字和石头剪刀布对应起来, 待会下面输入就能够很好的字符串拼接
            you = result(int(player_num))

            # 把用户输入的内容转换成数字类型, 能够走到这里, 就代码player_num决定是字符串类型的 1 2 3
            player_num = int(player_num)

        except Exception:
            print('输入有误, 请重新来过')
            continue

        # 电脑出拳
        computer_num = random.randint(1, 3)
        # 用于把数字和石头剪刀布对应起来, 待会下面电脑输入就能够很好的字符串拼接
        computer = result(computer_num)

        if (player_num == 1 and computer_num == 2) or (player_num == 2 and computer_num == 3) or (
                player_num == 3 and computer_num == 1):
            print('')
            print('*' * 50)
            print('你出的是%s' % you)
            print('电脑出的是%s' % computer)
            print('你赢了, 你向对方说, 不要跑, 决战到天亮!!')
            print('*' * 50)
            print('')

        elif player_num == computer_num:
            print('')
            print('*' * 50)
            print('你出的是%s' % you)
            print('电脑出的是%s' % computer)
            print('打平了')
            print('*' * 50)
            print('')

        else:
            print('')
            print('*' * 50)
            print('你出的是%s' % you)
            print('电脑出的是%s' % computer)
            print('你输了, 但是不要气馁, 再接再励!')
            print('*' * 50)
            print('')


if __name__ == '__main__':
    print("*******欢迎来到猜拳游戏********")
    nums = int(input('请问你想玩几盘: '))
    print("*******游戏开始********")
    games(nums)

  • 还可以打这个代码更加精简, 甚至添加积分的功能
发布了21 篇原创文章 · 获赞 34 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44000328/article/details/90232730