首页 > 编程语言 >python代码实现挑棍游戏

python代码实现挑棍游戏

时间:2024-08-11 12:58:45浏览次数:12  
标签:__ 游戏 python random 棍子 print 挑棍 sticks

import random

def print_sticks(sticks):
    """打印当前的棍子状态"""
    print("当前棍子状态:", ' '.join(str(i) for i in range(1, sticks + 1)))

def player_turn(sticks):
    """处理玩家的回合"""
    while True:
        try:
            count = int(input(f"选择 1 到 {sticks} 根棍子:"))
            if 1 <= count <= sticks:
                return count
            else:
                print(f"请输入一个有效的数字,范围是 1 到 {sticks}")
        except ValueError:
            print("请输入一个有效的数字")

def main():
    """主游戏函数"""
    sticks = random.randint(10, 20)  # 随机设置初始棍子数量
    print("挑棍游戏开始!")
    print_sticks(sticks)
    
    while sticks > 0:
        # 玩家回合
        print(f"\n当前剩余棍子数: {sticks}")
        taken = player_turn(sticks)
        sticks -= taken
        print(f"你选择了 {taken} 根棍子")
        
        # 检查游戏是否结束
        if sticks == 0:
            print("你赢了!没有棍子剩下")
            break
        
        # 计算机回合
        computer_take = random.randint(1, min(sticks, 3))  # 计算机随机选择 1 到 3 根棍子
        sticks -= computer_take
        print(f"计算机选择了 {computer_take} 根棍子")
        
        # 检查游戏是否结束
        if sticks == 0:
            print("计算机赢了!没有棍子剩下")
            break
        
        print_sticks(sticks)

if __name__ == "__main__":
    main()
 

标签:__,游戏,python,random,棍子,print,挑棍,sticks
From: https://blog.csdn.net/AGVX58074/article/details/141104329

相关文章

  • 【Python蓝屏程序(管理员)】
    说明:该程序为临摹(......
  • BUUCTF 81题吹着贝斯的二维码详解(包含各类工具和python脚本)
    在网上看了很多类似解题步骤和说明,感觉对小白都不友好,于是决定搜集整理下,做个详尽的解题步骤:压缩包解压得到36个无后缀名文件和一个flag.zip压缩包再看压缩包,解压发现有压缩密码,用winhex查看是不是伪加密,在末尾发现一串可疑字符串,拷贝下来留用:GNATOMJVIQZUKNJXGRCTGNRTG......
  • python asyncio grpc
    1.准备环境python3.11-mvenvvenvsourcevenv/*/activatepipinstallgrpcio-tools#包含了grpcio和protobufpipinstalltypes-protobufgrpc-stubs#可选安装,用于mypy静态检查2.编写msg.protosyntax="proto3";//这是注释,同时也是类文档serviceMsgService{......
  • Python和多线程(multi-threading)
    在Python中,实现并行处理的方法有几种,但由于Python的全局解释器锁(GIL,GlobalInterpreterLock)的存在,传统意义上的多线程(使用threading模块)并不总能有效利用多核CPU来实现真正的并行计算。GIL确保任何时候只有一个线程在执行Python字节码。不过,仍然有几种方法可以绕过这个限制,......
  • Python基础知识:奠定坚实的编程基础
    Python,作为一种备受欢迎的高级编程语言,凭借其简洁的语法、强大的标准库和丰富的第三方模块,赢得了广泛的赞誉和应用。无论你是编程新手还是资深开发者,Python都能提供丰富的学习机会和实际应用场景。本文旨在深入探讨Python的基础知识,涵盖字面量、变量、数据类型、注释、类型......
  • python图片压缩大小及设置图片像素大小120乘160
    python图片压缩大小及设置图片像素大小120乘1601.在pycharm中安装pillow库的步骤:打开设置并转到“项目”页面。选择“python解释器”并单击“+”按钮。搜索“pillow”,选中包并单击“安装包”。1.打开PyCharm设置Windows:File>Settings2.转到“项目”页面在左侧导航栏中,单......
  • Python之赋值语句(多重赋值和交换赋值)
    这是《Python入门经典以解决计算问题为导向的Python编程实践》73-74页关于赋值的内容。讲了Python中几种赋值方式。赋值语句1、最简单的赋值:a=b2、多重赋值:a,b,c=1,2,33、交换:a,b=b,a1、最简单的赋值:a=bb可以是数字、字符串,也可以是一个表达式。a必须是一个对象,不......
  • Python使用PyCharm创建一个简单的Qt Quick应用程序-hello_world_quick.py(读取qml文件
    """CreateaSimpleQuickApplication"""importsysfrompathlibimportPathfromPySide6.QtGuiimportQGuiApplicationfromPySide6.QtQmlimportQQmlApplicationEngine#打开文件,读取文件,并返回文件内容defread_file(file_path):"......
  • Python使用PyCharm创建一个简单的Qt Widgets应用程序-hello_world.py
    """CreateaSimpleQtWidgetsApplication"""importrandomimportsysfromPySide6importQtCore,QtWidgets#MainClassclassMyWidget(QtWidgets.QWidget):def__init__(self):super().__init__()self......
  • Python使用PyCharm创建一个简单的Qt Quick应用程序-hello_world_quick.py
    """CreateaSimpleQuickApplication"""importsysfromPySide6.QtGuiimportQGuiApplicationfromPySide6.QtQmlimportQQmlApplicationEngineQML="""importQtQuickimportQtQuick.ControlsimportQtQuick.Lay......