首页 > 编程语言 >Python

Python

时间:2023-09-20 23:00:44浏览次数:40  
标签:游戏 Python mines range board print size

扫雷

import random

# 游戏设置
board_size = 10  # 游戏板尺寸
num_mines = 10  # 地雷数量

# 创建游戏板
board = [[' ' for _ in range(board_size)] for _ in range(board_size)]
mines = set()

# 随机布置地雷
while len(mines) < num_mines:
    x = random.randint(0, board_size - 1)
    y = random.randint(0, board_size - 1)
    mines.add((x, y))
    board[x][y] = 'X'

# 打印游戏板(仅显示地雷位置)
for x, y in mines:
    print(f"Mine at ({x}, {y})")

# 扫雷循环
print("开启扫雷!")
game_over = False
while not game_over:
    # 当前游戏板状态
    for row in board:
        print(' '.join(row))

    # 用户输入
    x = int(input("请输入行号 (0-9): "))
    y = int(input("请输入列号 (0-9): "))

    # 判断是否踩雷
    if (x, y) in mines:
        print("很遗憾,你踩到地雷了!游戏结束。")
        board[x][y] = 'X'
        game_over = True
        continue

    # 统计周围地雷数量
    count = 0
    for dx in range(-1, 2):
        for dy in range(-1, 2):
            if (x + dx, y + dy) in mines:
                count += 1

    # 更新游戏板状态
    board[x][y] = str(count)

print("最终游戏板状态:")
for row in board:
    print(' '.join(row))

标签:游戏,Python,mines,range,board,print,size
From: https://blog.51cto.com/u_16251486/7544371

相关文章

  • Python-day13
    复习:字符串#字符串生成#字符串对齐#大小写变换#字符串劈分#字符串判断相关方法#字符串替换与合并#字符串比较#字符串切片#格式化字符串#字符串编码解码#字符串查询s1='abc's2="a"+'b'+'c's3=''.join({'a','b','c'})s4=''.join(('a�......
  • Python
    循环结构根据条件或指定次数反复执行某个动作(语句)whilewhile条件: 满足条件执行的语句 break#终止循环else: 不满足条件执行的语句whileTrue: 语句段例:"""使用下列代码循环,直到录入"exit"后退出在控制台中获取一个季度,打印相应的月份输入与输出:春1月2月3月......
  • Python从入门到实战-Scrapy源码2-核心组件
    Scrapy核心组件本篇文章解决:Scrapy有哪些核心组件?以及它们主要负责了哪些工作?这些组件为了完成这些功能,内部又是如何实现的?爬虫类上次讲到Scrapy运行起来后,执行到最后到了Crawler的crawl方法,我们来看这个方法:@defer.inlineCallbacksdefcrawl(self,*args,**kwargs)......
  • # yyds干货盘点 # 系统提取的部分数据存在异常,Python填充有其他更简单的方法么?
    大家好,我是皮皮。一、前言前几天在Python最强王者群【wen】问了一个Python自动化办公的问题,一起来看看吧。请教问题:友信平台因为系统提取的部分数据存在异常,导出的数据经常缺失客户名,但是客户账号是准确的,如果实现客户名自动填充?解决思路:1单独生成客户账号和客户名的表格,两个表格进......
  • Python(Web时代)- 超简单:一行代码就能搭建网站
    From: https://mp.weixin.qq.com/s/x2dJshrAdev4FweK4kwCyA-----------------------------------------------------------------------------------介绍Streamlit是一款非常强大,可以实现快速创建和共享数据应用的Python库。借助他,我们可以在数分钟内构建出功能齐全的Web应用......
  • Python中TensorFlow的长短期记忆神经网络(LSTM)、指数移动平均法预测股票市场和可视化
    原文链接:http://tecdat.cn/?p=23689最近我们被客户要求撰写关于LSTM的研究报告,包括一些图形和统计输出。本文探索Python中的长短期记忆(LSTM)网络,以及如何使用它们来进行股市预测 ( 点击文末“阅读原文”获取完整代码数据)。在本文中,你将看到如何使用一个被称为长短时记忆的时间......
  • 10个最佳 python 装饰器
    From: https://mp.weixin.qq.com/s/3-1TikeOeLZilHnPzM9I-Q---------------------------------------------------------------------------------装饰器是可以为你的函数添加新功能的秘密武器,使你的代码更加优雅和高效。今天我们将探讨可以增强你的函数的10个最佳Python装......
  • Python语法(3)
    Python语法(3)今天我们来学习列表列表是一种常见的变量类型,可以存储一列元素,在python中元素的类型可以是不同的,不过大多数情况下应该都是相同的。列表的初始化1.直接初始化a=[]#定义一个空列表b=[1,2]#定义一个含有两个整数的列表c=[1,"python",1.23]#定义一个含有......
  • nuitka 打包编译python3 脚本
    pipinstallordered-set#加速编译pipinstallnuitkapipinstallzstandard#onefile时压缩文件#打包命令python-mnuitka--mingw64--standalone--output-dir=out--show-progress--onefile--windows-disable-console--windows-icon-from-ico=1.ico--output-di......
  • 《流畅的Python》示例5-17 提取函数的签名
    理解param.kind含义:给形参传递参数的方式,是位置传递,还是关键字传递  1defclip(text,max_len=80):2end=None3iflen(text)>max_len:4space_before=text.rfind("",0,max_len)5ifspace_before>=0:6end......