扫雷/python中*解包作用


题目描述
在一个n行m列的方格图上有一些位置有地雷,另外一些位置为空。
请为每个空位置标一个整数,表示周围八个相邻的方格中有多少个地雷。
输入描述
输入的第一行包含两个整数n,m。
第2行到第n+1行每行包含m个整数,相邻整数之间用-个空格分隔。如果对应的整数为 0,表示这一格没有地雷。如果对应的整数为1,表示这一格有地雷
其中,1<n,m<100分钟后还是在当天
输出描述
输出n行,每行m个整数,相邻整数之间用空格分隔
对于没有地雷的方格,输出这格周围的地雷数量。对于有地雷的方格,输出9。

import os
import sys# 请在此输入您的代码
n,m=map(int,input().split())
s=[list(map(int,input().split())) for i in range(n)]  #输入的数据
a=[[0]*m for i in range(n)]  #要输出的地图
for i in range(n):for j in range(m):if s[i][j] ==1:  #有地雷a[i][j]=9continuecnt=0if s[i][j] ==0:#没有地雷for i1 in range(i-1,i+2):for j1 in range(j-1,j+2):if 0<=i1<n and 0<=j1<m:if s[i1][j1]==1:cnt+=1a[i][j]=cnt
for i in a:print(*i)

输出:

3 4
0 1 0 0
1 0 1 0
0 0 1 0
2 9 2 1
9 4 9 2
1 3 9 2

在Python中,*是一种解包操作符(asterisk unpacking operator)。在print(*i)中,它用于解包列表i的元素。

当我们使用print函数打印一个列表时,通常会打印出列表的表示形式,其中元素之间用逗号分隔,并且列表被方括号包围。但是,如果我们希望打印出列表的元素本身,而不是列表的表示形式,就可以使用*解包操作符。

通过在print函数中使用*i*会解包列表i的元素,将它们作为独立的参数传递给print函数。这样,print函数会以空格作为分隔符打印出列表的元素。

a = [1, 2, 3]
print(*a)

输出将是:

1 2 3

而不是:

[1, 2, 3]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/222057.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Keepalived+Nginx实现高可用(下)

一、背景 上篇文章介绍了基本的Keepalived的简单入门&#xff0c;但是针对预留的问题还有优化的空间。分别是下面3个问题: 1、如果仅仅只提供一个VIP的方式&#xff0c;会存在只有1台服务器处于实际工作&#xff0c;另外1台处于闲置状态。 势必存在成本资源浪费问题&#xff0c…

定时器Timer、多线程下的单例模式

在java中&#xff0c;Timer主要负责计划任务的功能&#xff0c;即在指定的时间开始执行某个任务。TimerTask是一个抽象类&#xff0c;负责封装定时任务。 1、定时器Timer的使用 schedule(TimerTask task, Date date)&#xff1a;在指定的日期执行一次task。 schedule(TimerTask…

Android : Room 数据库的基本用法 _简单应用_二_优化

1.导入依赖 build.gradle dependencies {//Roomdef room_version "2.5.0"implementation "androidx.room:room-runtime:$room_version"annotationProcessor "androidx.room:room-compiler:$room_version"// 使用androidx版本库 ViewModelProv…

LLM之RAG实战(四):Self-RAG如何革命工业LLM

论文地址&#xff1a;https://arxiv.org/pdf/2310.11511.pdf Github地址&#xff1a;https://github.com/AkariAsai/self-rag 尽管LLM&#xff08;大型语言模型&#xff09;的模型和数据规模不断增加&#xff0c;但它们仍然面临事实错误的问题。现有的Retrieval-Augmented Gen…

js中严格模式简单介绍

ES5中增加了一种运行模式 &#xff0c;严格模式。严格模式使代码在更严格的条件下运行&#xff0c;以消除一些JavaScript中语法不合理及怪异之处。但是在严格模式下有一些语句及语法是不能使用的&#xff0c;比如delete只能删除属性描述符中configurable设置为true的对象 属性…

一文讲清 QWidget 大小位置

一文讲清 QWidget 大小位置 前言 ​ QWidget 的位置基于桌面坐标系&#xff0c;以左上角为原点&#xff0c;向右x轴增加&#xff0c;向下y轴增加。 一、图解 ​ ​ 如上图所示&#xff0c;当窗口为顶层窗口时&#xff08;即没有任何父窗口&#xff09;&#xff0c;系统会自…

JVM的五大分区

1.方法区 方法区主要用来存储已在虚拟机加载的类的信息、常量、静态变量以及即时编译器编译后的代码信息。该区域是被线程共享的。 2.虚拟机栈 虚拟机栈也就是我们平时说的栈内存&#xff0c;它是为java方法服务的。每个方法在执行的 时候都会创建一个栈帧&#xff0c;用于存…

数据结构学习 12字母迷宫

dfs 回溯 剪枝 这个题和dfs有关&#xff0c;但是我之前没有接触过&#xff0c;我看了这一篇很好的文章&#xff0c;看完之后写的答案。 我觉得很好的总结&#xff1a; dfs模板 int check(参数) {if(满足条件)return 1;return 0; }void dfs(int step) {判断边界{相应操作}尝试…

【JUC】二十九、synchronized锁升级之轻量锁与重量锁

文章目录 1、轻量锁2、轻量锁的作用3、轻量锁的加锁和释放4、轻量级锁的代码演示5、重量级锁6、重量级锁的原理7、锁升级和hashcode的关系8、锁升级和hashcode关系的代码证明9、synchronized锁升级的总结10、JIT编译器对锁的优化&#xff1a;锁消除和锁粗化11、结语 &#x1f4…

基士得耶速印机印件故障解决方法和印刷机使用注意事项

基士得耶和理光两个品牌的一体化速印机同属于理光公司的两个不同品牌。基士得耶速印机的每个机型&#xff0c;都有和它通用的理光速印机的机型相对应。&#xff08;油墨版纸通用&#xff0c;外观一样&#xff0c;配件全部通用。&#xff09;速印机在印刷的时候&#xff0c;经常…

USB2.0 Spec 中文篇

体系简介 线缆 USB 是一种支持热拔插的高速串行传输总线&#xff0c;使用一对&#xff08;两根&#xff09;差分信号来传输数据&#xff0c;半双工。要求使用屏蔽双绞线。 供电 USB 支持 “总线供电” 和 “自供电” 两种供电模式。在总线供电方式下&#xff0c;设备最多可…

​subprocess --- 子进程管理​

源代码: Lib/subprocess.py subprocess 模块允许你生成新的进程&#xff0c;连接它们的输入、输出、错误管道&#xff0c;并且获取它们的返回码。此模块打算代替一些老旧的模块与功能&#xff1a; os.system os.spawn*在下面的段落中&#xff0c;你可以找到关于 subprocess 模…

代理模式

接口 public interface UserService {void selectAll(); }实现类&#xff08;需要增加业务&#xff09; public class UserServiceImpl implements UserService{Overridepublic void selectAll() {System.out.println("查询");} }静态代理 代理类 public class Us…

选择适合微服务的编程语言

关注公众号【爱发白日梦的后端】分享技术干货、读书笔记、开源项目、实战经验、高效开发工具等&#xff0c;您的关注将是我的更新动力&#xff01; 讨论编程语言就像是一场政治辩论。每个开发者都会过分捍卫他/她所使用的编程语言。然而&#xff0c;编程语言应该被看作是它们真…

Tofu目标识别跟踪模块

Tofu3 是多波段视频物体识别跟踪模块&#xff0c;支持可见光视频与红外视频的输入&#xff0c;支持激光补光变焦自适应控制&#xff0c;支持视频下的多类型物体检测、识别、跟踪等功能。 产品支持视频编码、设备管理、目标检测、深度学习识别、跟踪等功能&#xff0c;提供多机…

IPv6网络协议有什么用

IPv6是英文“Internet Protocol Version 6”&#xff08;互联网协议第6版&#xff09;的缩写&#xff0c;是互联网工程任务组&#xff08;IETF&#xff09;设计的用于替代IPv4的下一代IP协议&#xff0c;号称可以为全世界的每一粒沙子编上一个地址。IPv6的使用&#xff0c;不仅…

一起看看StatusBarManagerService(三)

写在前面 StatusBarManagerService中API涉及systemui的多个模块&#xff1b;本篇主要介绍StatusBarManagerService中与通知栏相关的API和几个通用API。 因为我对系统UI了解的不全&#xff0c;其他API暂不整理&#xff0c;怕误人子弟。。 通知栏相关函数解析 1.展开通知栏 vo…

智慧灯杆技术应用分析

智慧灯杆是指在传统灯杆的基础上&#xff0c;通过集成多种先进技术实现城市智能化管理的灯杆。智慧灯杆技术应用的分析如下&#xff1a; 照明功能&#xff1a;智慧灯杆可以实现智能调光、时段控制等功能&#xff0c;根据不同的需求自动调节照明亮度&#xff0c;提高照明效果&am…

如何测试Nginx防盗链是否生效?

1、查看Nginx防盗链规则是否正确 打开Nginx的配置文件&#xff0c;找到防盗链规则。一般Nginx防盗链的规则内容大致如下&#xff1a; location ~* \.(jpg|jpeg|png|gif)$ {valid_referers none blocked example.com;if ($invalid_referer) {return 403;}} 上述配置会拦截所…

利用Pytorch预训练模型进行图像分类

Use Pre-trained models for Image Classification. # This post is rectified on the base of https://learnopencv.com/pytorch-for-beginners-image-classification-using-pre-trained-models/# And we have re-orginaized the code script.预训练模型(Pre-trained models)…