初入CSDN,有点紧张,浅发一下学习Python到现在写的石头剪刀布游戏。

        本菜鸟初入Python,应该说是跨行业初入程序语言的学习吧,看看是否有跟我一样土木专业的同学,跨度较大,找同类吧!总归是因为Python对于初学者来说真的非常友好,通俗易懂的语法,一看就知道是什么的逻辑等等,现在差不多算是学完了基础吧,也是初次接触到csdn这样一个神级网站,所以发下文章请教有缘看到此篇文章的大佬,或者跟同样是菜鸟的初学者交流学习经验。

        这次做了一个石头剪刀布的游戏,里面所包含的初学的知识点我觉得应该算是比较多的吧,综合起来,写起来也是比较有意思的,代码如下,大家可以拷贝试一下,或者有哪些能够简写优化的可以提出来。

import sys
import time
import random
import re

print('''您即将进入有趣的Jan-Ken Punch游戏,如果你准备好了,请选择star进入游戏,退出请选择exit。
**************************************************************************''')
print(time.strftime('当前时间是:%Y年%m月%d日 %H:%M:%S\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^'))


def loginGame():
    while True:
        print('''秘诀规则:
        总共是11位,第1位是1,第二位可以是数字3458其中之一,后面4位任意数字,最后5位为任意相同的数字''')
        password = input('请输入登录秘诀:')
        result = re.match(r'^1[3458]\d{4}(\d)(\1){4}$', password)
        if bool(result) == True:
            print('秘诀正确,允许进入游戏~~~~')
            return 'pass'
        else:
            print('输入有误,请仔细阅读秘诀规则再输入。')


def chooseA_B():
    while True:
        userChoose = input('A.start\nB.exit\n请选择:').upper()
        if userChoose == 'A':
            print('正在进入游戏,请稍等····')
            time.sleep(0.8)
            return 'A'
        elif userChoose == 'B':
            exit('您已退出游戏。')
        else:
            print('您的输入有误,请重新输入')


def gamestart():
    print('''您已进入游戏啦!
    输入石头、剪刀、布来出拳''')
    countRound = 1
    while True:
        computer = random.choice(['石头', '剪刀', '布'])
        print('Round', countRound)
        user_1 = input('请输入您出的拳:')
        inputlist = ['石头', '剪刀', '布']
        if user_1 in inputlist:
            if user_1 == '石头':
                if computer == '石头':
                    print(f'您的出的是{user_1},对手出的是{computer},平局!\n退出请输入exit')
                elif computer == '剪刀':
                    print(f'您的出的是{user_1},对手出的是{computer},牛呀,您获胜!\n退出请输入exit')
                elif computer == '布':
                    print(f'您的出的是{user_1},对手出的是{computer},真可惜,这局输了!\n退出请输入exit')
            elif user_1 == '剪刀':
                if computer == '石头':
                    print(f'您的出的是{user_1},对手出的是{computer},真可惜,这局输了!\n退出请输入exit')
                elif computer == '剪刀':
                    print(f'您的出的是{user_1},对手出的是{computer},平局!\n退出请输入exit')
                elif computer == '布':
                    print(f'您的出的是{user_1},对手出的是{computer},牛呀,您获胜!\n退出请输入exit')
            elif user_1 == '布':
                if computer == '石头':
                    print(f'您的出的是{user_1},对手出的是{computer},牛呀,您获胜!\n退出请输入exit')
                elif computer == '剪刀':
                    print(f'您的出的是{user_1},对手出的是{computer},真可惜,这局输了!\n退出请输入exit')
                elif computer == '布':
                    print(f'您的出的是{user_1},对手出的是{computer},平局!\n退出请输入exit')
            countRound += 1
        elif user_1.lower() == 'exit':
            print('谢谢您的游玩,欢迎下次来玩!')
            sys.exit()
        else:
            print('您的输入有误,请重新输入')


if chooseA_B() == 'A':
    if loginGame() == 'pass':
        gamestart()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值