首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在pygame中将数组输出到显示器?

在pygame中将数组输出到显示器可以通过以下步骤实现:

  1. 导入pygame库和sys库:
代码语言:txt
复制
import pygame
import sys
  1. 初始化pygame:
代码语言:txt
复制
pygame.init()
  1. 创建一个窗口:
代码语言:txt
复制
screen = pygame.display.set_mode((width, height))

其中,widthheight是窗口的宽度和高度。

  1. 定义一个数组:
代码语言:txt
复制
array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
  1. 定义一个字体对象:
代码语言:txt
复制
font = pygame.font.Font(None, font_size)

其中,font_size是字体的大小。

  1. 循环遍历数组,并将每个元素渲染为文本对象,并绘制到窗口上:
代码语言:txt
复制
for i in range(len(array)):
    for j in range(len(array[i])):
        text = font.render(str(array[i][j]), True, (255, 255, 255))
        screen.blit(text, (x, y))
        x += cell_width
    y += cell_height
    x = initial_x

其中,xy是文本对象的坐标,cell_widthcell_height是每个单元格的宽度和高度,initial_x是每行的初始x坐标。

  1. 更新显示器:
代码语言:txt
复制
pygame.display.flip()
  1. 设置游戏主循环:
代码语言:txt
复制
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

完整代码示例:

代码语言:txt
复制
import pygame
import sys

pygame.init()

width = 400
height = 300
screen = pygame.display.set_mode((width, height))

array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

font_size = 20
font = pygame.font.Font(None, font_size)

cell_width = 50
cell_height = 50
initial_x = 50
x = initial_x
y = 50

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    screen.fill((0, 0, 0))

    for i in range(len(array)):
        for j in range(len(array[i])):
            text = font.render(str(array[i][j]), True, (255, 255, 255))
            screen.blit(text, (x, y))
            x += cell_width
        y += cell_height
        x = initial_x

    pygame.display.flip()

这样,数组中的元素就会以文本的形式输出到pygame窗口中。你可以根据实际需求调整窗口大小、数组内容和样式等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C语言:文件操作详解

2.2 终端       终端:包括显示器、鼠标、键盘、耳机、麦克风、显示器和摄像头等等。...4.1 流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的⼊输出操作各不相同,为了方便程序员对各种设备进⾏⽅便的操作,我们抽象出了流的概念,我们可以把流想象成流淌着字符的河...因为在C语言程序启动的时候,默认打开了3个流: • stdin - 标准⼊流,在⼤多数的环境中从键盘⼊,scanf函数就是从标准⼊流中读取数据。...• stdout - 标准输出流,⼤多数的环境中输出⾄显⽰器界⾯,printf函数就是将信息输出到标准输出流中。 • stderr - 标准错误流,大多数环境中输出到显示器界流。...流⼀般指适⽤于标准⼊流和其他⼊流(⽂件⼊流);所有输出流⼀ 般指适⽤于标准输出流和其他输出流(⽂件输出流)。

51710

C语言——P文件操作

在以前各章所处理数据的⼊输出都是以终端为对象的,即从终端的键盘⼊数据,运⾏结果显示到显示器上。...• stdout-标准输出流,大多数的环境中输出至显示器界面,printf 函数就是将信息输出到标准输出流中。 • stderr-标准错误流,大多数环境中输出到显示器界面。...⽐: 3、文件的打开和关闭 ⽂件在读写之前应该先打开⽂件,在使⽤结束之后应该关闭⽂件。...流⼀般指适⽤于标准⼊流和其他⼊流(⽂件⼊流);所有输出流⼀般指适⽤于标准输出流和其他输出流(⽂件输出流)。...}; FILE* fp = fopen("test.bin", "wb"); // 必须⽤⼆进制模式 fwrite(a, sizeof * a, SIZE, fp); // 写 double 的数组

14310
  • 【C语言】文件操作(1)

    程序运⾏需要从中读取数据的⽂ 件,或者输出内容的⽂件,(其并不会被运行,只是拿来读写) 在以前各章所处理据的⼊输出都是以终端为对象的,即从终端的键盘⼊数据,运⾏结果显⽰到显⽰器上。...(大部分编译器都能打开并正常显示出数据) 文件的打开和关闭 流和标准流 流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的⼊输出操作各不相同,我们程序员就是个写代码...标准流 那为什么我们从键盘⼊数据,向屏幕上输出数据,并没有打开流,却依然能执行(scanf,printf没有打开流却依然能执行这些操作) 那是因为C语⾔程序在启动的时候,默认打开了3个流:...• stdin(指向标准输入流) - 标准⼊流,在⼤多数的环境中从键盘⼊,scanf函数就是从标准⼊流中读取数据。...(其流是输出错误信息到显示器上) 所以stdin,stdout,stderr类型都是FILE*。通常称为文件指针。

    7910

    【C语言】深度探讨文件操作(一)

    本小节讨论的是数据文件在以前各章所处理数据文件的输入输出都是以终端为对象的,即从终端的键盘输入数据,运行到显示器上。...stdout - 标准输出流,大多数的环境中输出至显示器界面,printf函数就是讲信息输出到标准流中 stderr - 标准错误流,大多数的环境中输出到显示器界面。...每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(文件的名字,文件状态及文件当前的位置等)。这些信息是保存在一个结构体变量中的。...顺序读写函数介绍: 函数名 功能 适⽤于 fgetc 字符⼊函数 所有⼊流 fputc 字符输出函数 所有输出流 fgets ⽂本⾏⼊函数 所有⼊流 fputs ⽂本⾏输出函数 所有输出流 fscanf...上⾯说的适⽤于所有⼊流⼀般指适⽤于标准⼊流和其他⼊流(⽂件⼊流);所有输出流⼀般指适⽤于标准输出流和其他输出流(⽂件输出流)。

    11410

    【c语言】详解文件操作(一)

    C程序针对文件、画面、键盘等的数据⼊输出操作都是同流操作的。⼀般情况下,我们要想向流里写数据,或者从流中读取数据,都是要打开流,然后操作。...,看下面一段代码: int a; printf("HELLO"); scanf("%d",&a); 下面则为流和输入输出示意图: printf函数将字符'H' 'E' 'L' 'L' 'O'输出到连接显示器的流...scanf,getchar等函数会从此流中读取字符; stdout - 标准输出流,在大多数环境中为输出到显示器界面。printf,putchar等函数会向此流中写入字符。...stderr - 标准错误流,用于写出错误的流,大多数输出到显示器界面。...文件指针 每个被使用的文件都在内存中开辟了⼀个相应的文件信息区,用来存放文件的相关信息(文件的名字,文件状态及文件当前的位置等)。这些信息是保存在⼀个结构体变量中的。

    7010

    文件底层的深入理解之文件输入输出重定向

    一、文件fd的分配规则 最小的没有被使用的数组下标,会被分配给最新打开的文件。...二、对输出重定向现象的理解 正如上面这段代码所示,printf打印的内容并没有向显示器上打,而是输出到了log1.txt文件里面,这又是为什么呢?...原因就是在该进程的文件描述符表中,原来的下标1位置存的是显示器文件的地址,你使用系统调用接口close(1),相当于把1位置的内容清空了,也就是1位置不再存储显示器文件的地址,后来你又打开了log1.txt...文件,操作系统检测到你这个进程的文件描述符表中最小的没有被使用的数组下标为1,所以就把log1.txt文件的地址填入了1位置,这是在操作系统层面上做的工作。...dup2()这个接口是指在文件描述符中将newfd位置的地址改成oldfd位置的地址,具体实现如下所示: 1、输出重定向 fd位置的文件地址覆盖了原本1位置上的文件地址,结果就将本来应该打印到屏幕上的一串

    9810

    【C语言】文件操作

    当然数据也可以是离散的,符号、文字称为数字数据 在计算机系统中,数据以二进制信息单元0、1 的形式表示 在计算机科学中,数据是指所有能输入计算机并被计算机程序处理的符号的介质的总称,是用于输入电子计算机进行处理...,但其实这两个函数只是使用了默认输入流(键盘)和输出流设备(屏幕显示器),scanf: Read formatted data from the standard input stream. printf...,以前是从键盘中将信息输入到变量里面去 fprintf(stdout, "%d %f %s", s1.n, s1.score, s1.arr); //从标准输出流(屏幕)中将我们存放到变量中的信息打印出来...,现在我们将一组格式化的数据输出到(存储到)字符串数组buf里面 printf("%s\n", buf); //将格式化的数据转换成字符串存储到buf里面,我们在打印到stdout中 sscanf...既有可能是读取错误导致的结束,也有可能是读到文件末尾,从而导致的读取结束 6.2 ferror、perror、strerror的对比 perror ( )用 来 将 上 一 个 函 数 发 生 错 误 的 原 因

    3.8K10

    C++初阶-IO流

    语言中我们用到的最频繁的输入输出方式就是scanf ()与printf() scanf(): 从标准输入设备(键盘)读取数据,并将值存放在变量中 printf(): 将指定的文字/字符串输出到标准输出设备...)向计算机内部(内存)输入和从内存向外部输出设备(显示器)输出的过程,这种输入输出的过程被形象的比喻为“流” 特性: 有序连续**、**具有方向性 注:为了实现这种流动,C++定义了I/O...) 使用cin进行标准输入即数据通过键盘输入到程序中 使用cerr用来进行标准错误的输出 使用clog进行日志的 建议: C++尽量去用cin和cout,能用它就用他(便捷..._port << endl; return 0; } 结果: 注:相比于C语言方便很多,不用控制格式 六、stringstream的介绍和使用 引入: 在C语言中将一个整形变量的数据转化为字符串格式的方式有...(“”)方法将底层string对象设置为""空字符串 可以使用s.str()将让stringstream返回其底层的string对象 stringstream使用string类对象代替字符数组

    1.3K30

    NumPy 初学者指南中文第三版:11~14

    您将学到的东西如下: pygame 基础 matplotlib 集成 表面像素数组 人工智能 动画 OpenGL Pygame Pygame 是 Python 框架,最初由 Pete Shinners...加载此图像并在屏幕上四处移动: img = pygame.image.load('head.jpg') 定义一些数组来保存位置的坐标,我们希望在动画过程中将图像放置在这些位置。...surfarray模块处理 Pygame Surface对象与 NumPy 数组之间的转换 。...将头像图像中的像素复制到数组中: pixels = pygame.surfarray.array2d(img) 使用数组的shape属性从像素数组的形状创建游戏屏幕。...所承诺的,以下是该示例最重要部分的逐行说明: 函数 描述 pygame.display.set_mode((w,h), pygame.OPENGL|pygame.DOUBLEBUF) 此函数将显示模式设置为所需的宽度

    3.1K10

    文件操作(一、fgets和fputs、fscanf和fprintf、fread 和 fwrite、fopen和fclose、fgetc和fputc)

    之前处理数据的输入输出都是以终端为对象的,即从终端的键盘输入数据,运行结果显示到 显示器上。...、显示器、文件等)之间进行数据传输。...这种“流”的概念是抽象化的,它隐藏了底层硬件的复杂性,允许程序员使用一组统一的函数(printf,scanf等)进行数据的读写操作,而无需关心数据是如何在底层进行实际传输的。...stdout - 标准输出流,大多数的环境中输出至显示器界面,printf函数就是将信息输出到标准输出 流中。 stderr - 标准错误流,大多数环境中输出到显示器界面。 ​...每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(文件的名字,文件状态及文件当前的位置等)。这些信息是保存在一个结构体变量中的。

    40110

    Python OpenCV 计算机视觉:6~7

    附录 A:与 Pygame 集成 本附录显示了如何在 OpenCV 应用中设置 Pygame 库以及如何使用 Pygame 进行窗口管理。...典型的包名称包括pygame, pygame27, py-game, py27-game, python-pygame,和python27-pygame.。 现在,Pygame 应该可以使用了。...派生Manager.WindowManager 第 2 章,“处理照相机,文件和 GUI”中所述,我们的面向对象设计使我们可以轻松地将 OpenCV 的 HighGUI 窗口管理器切换为另一个窗口管理器...附录 B:为自定义目标生成 Haar 级联 本附录显示了如何生成 Haar 级联 XML 文件,第 4 章“使用 Haar 级联跟踪面部”中所使用的文件。...对于大量图像,我们应该改用命令行来查找与特定模式匹配的相对路径,并将这些匹配输出到文件中。

    1.1K20

    干货 | textRNN & textCNN的网络结构与代码实现!

    在⼀维互相关运算中,卷积窗口从数组的最左⽅开始,按从左往右的顺序,依次在数组上滑动。当卷积窗口滑动到某⼀位置时,窗口中的⼊⼦数组与核数组按元素相乘并求和,得到输出数组中相应位置的元素。...如下图所⽰,⼊是⼀个宽为7的⼀维数组,核数组的宽为2。...可以看到输出的宽度为 7 - 2 + 1 = 6,且第⼀个元素是由⼊的最左边的宽为2的⼦数组与核数组按元素相乘后再相加得到的:0 × 1 + 1 × 2 = 2。...我们在“多输⼊通道和多输出通道”⼀节中介绍了如何在⼆维卷积层中指定多个输出通道。类似地,我们也可以在⼀维卷积层指定多个输出通道,从而拓展卷积层中的模型参数。...因此,时序最⼤池化层的⼊在各个通道上的时间步数可以不同。为提升计算性能,我们常常将不同⻓度的时序样本组成⼀个小批量,并通过在较短序列后附加特殊字符(0)令批量中各时序样本⻓度相同。

    1.2K20

    java学习笔记(基础篇)—IO流

    a.txt的文件拷贝到b.txt中。 在Java中流是使用统一的方式操作输入和输出的数据。 从文件中读取,从键盘读取,从网络中读取... 输出到文件,发送到网络.... 流就是一个对象。...二:流的分类 1)根据流操作的方向,参照物:当前程序 ​ a)输入流:将数据读取到程序中就是输入流,reader ​ b)输出流:将程序中的数据写出到文件中就是输出流。...3)根据流的角色 ​ a)节点流,FileInputStream ​ b)包装流/处理流,BufferedInputStream。...反序列化:将文件中或者网络中将对象读取到程序的过程。 进行序列化或者反序列化的类必须实现Serializable接口。...类提供了一系列和写数据有关的方法: write(): 向输出流写入数据:有三种重载形式: a)void write(int b):向输出流写入一个字节; b)void write(byte[] b): 把参数b指定的字节数组中的所有字节写到

    82810

    java学习笔记(基础篇)—IO流

    a.txt的文件拷贝到b.txt中。 在Java中流是使用统一的方式操作输入和输出的数据。 从文件中读取,从键盘读取,从网络中读取... 输出到文件,发送到网络.... 流就是一个对象。...二:流的分类 1)根据流操作的方向,参照物:当前程序 a)输入流:将数据读取到程序中就是输入流,reader b)输出流:将程序中的数据写出到文件中就是输出流。...3)根据流的角色 a)节点流,FileInputStream b)包装流/处理流,BufferedInputStream。...反序列化:将文件中或者网络中将对象读取到程序的过程。 进行序列化或者反序列化的类必须实现Serializable接口。...类提供了一系列和写数据有关的方法: write(): 向输出流写入数据:有三种重载形式: a)void write(int b):向输出流写入一个字节; b)void write(byte[] b): 把参数b指定的字节数组中的所有字节写到

    95110

    textRNNtextCNN文本分类

    在⼀维互相关运算中,卷积窗口从数组的最左⽅开始,按从左往右的顺序,依次在数组上滑动。当卷积窗口滑动到某⼀位置时,窗口中的⼊⼦数组与核数组按元素相乘并求和,得到输出数组中相应位置的元素。...如下图所⽰,⼊是⼀个宽为7的⼀维数组,核数组的宽为2。...可以看到输出的宽度为 7 - 2 + 1 = 6,且第⼀个元素是由⼊的最左边的宽为2的⼦数组与核数组按元素相乘后再相加得到的:0 × 1 + 1 × 2 = 2。 ?...我们在“多输⼊通道和多输出通道”⼀节中介绍了如何在⼆维卷积层中指定多个输出通道。类似地,我们也可以在⼀维卷积层指定多个输出通道,从而拓展卷积层中的模型参数。...因此,时序最⼤池化层的⼊在各个通道上的时间步数可以不同。为提升计算性能,我们常常将不同⻓度的时序样本组成⼀个小批量,并通过在较短序列后附加特殊字符(0)令批量中各时序样本⻓度相同。

    2.2K41

    【C语言】文件操作详解

    文件的打开和关闭 4.1 流和标准流 4.1.1 流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的⼊输出操作各不相同,为了⽅便程序员对各种设备进⾏⽅便的操作,我们抽象出了流的概念...✨✨ C程序针对⽂件、画⾯、键盘等的数据⼊输出操作都是通过流操作的。 4.1.2 标准流 那为什么我们从键盘⼊数据,向屏幕上输出数据,并没有打开流呢?...那是因为C语⾔程序在启动的时候,默认打开了3个流: • stdin-标准⼊流,在⼤多数的环境中从键盘⼊,scanf函数就是从标准⼊流中读取数据。...• stdout-标准输出流,⼤多数的环境中输出⾄显⽰器界⾯,printf函数就是将信息输出到标准输出 流中。 • stderr-标准错误流,⼤多数环境中输出到显⽰器界⾯。...每个被使⽤的⽂件都在内存中开辟了⼀个相应的⽂件信息区,⽤来存放⽂件的相关信息(⽂件的名字,⽂件状态及⽂件当前的位置等)。这些信息是保存在⼀个结构体变量中的。

    9610

    【Linux】基础IO>文件系统&&软硬链接&&动静态库详解

    每个进程都有一个指针*files, 指向一张表files_struct,该表最重要的部分就是包涵一个指针数组,每个元素都是一个指向打开文件的指针!所以,本质上,文件描述符就是该数组的下标。...open"); return 1; } printf("fd: %d\n", fd); fflush(stdout); close(fd); exit(0); } 此时,我们发现,本来应该输出到显示器上的内容...,输出到了文件 myfile 当中,其中,fd=1。...linux如何在当前的目录中记录这个文件?内核将入口(263466,abc)添加到目录文件。...内核记录了这个连接数,inode 263466 的硬连接数为2(任何一个目录刚开始新建的时候引用计数一定是2) 目录A内部,新建一个目录会让目录A的引用计数自动+1 我们在删除文件时干了两件事情:1.在目录中将对应的记录删除

    10810

    使用Pygame在Python游戏中放置平台【Gaming】

    何在Python游戏中添加一个坏人 Platformer游戏需要平台。 在Pygame中,平台本身就是精灵,就像你的可以用来玩的精灵一样。...在最初的侧滚游戏中,Mario Super Bros和Sonic the Hedgehog,技术是使用“tiles”,意思是有几个块来代表地面和各种平台,这些块被使用和重复使用以使其水平。...gloc.append(i*tx) i=i+1 ground_list = Level.ground( 1,gloc,tx,ty ) 现在,不管窗口的大小,Python将游戏世界的宽度除以平铺的宽度,并创建一个数组...要在函数中使用数组,请使用一个循环来查看每个条目,并在适当的位置添加平块:虽然 def ground(lvl,gloc,tx,ty): ground_list = pygame.sprite.Group...另一个while循环中有一个while循环,因为此函数必须查看每个数组项中的所有三个值,才能成功构建完整的平台。

    2.6K40

    【C语言】与文件有关的操作

    在以前各章所处理数据的输入输出都是以终端为对象的,即从终端的键盘输入数据,运行结果显示到显示器上。...stdout 标准输出流,大多数的环境中输出至显示器界面。 stderr 标准错误流,大多数环境中输出到显⽰器界面。...每个被使用的文件都在内存中开辟了⼀个相应的文件信息区**,用来存放文件的相关信息(文件的名字,文件状态及文件当前的位置等)。这些信息是保存在一个结构体变量中的。...文件的顺序读写 5.1 顺序读写函数介绍 上面说的适用于所有⼊流一般指适用于标准输入流和其他输入流(文件输入流);所有输出流一般指适用于标准输出流和其他输出流(文件输出流)。...fp = fopen("test.bin", "rb"); size_t ret_code = fread(b, sizeof * b, SIZE, fp); // 读 double 的数组

    17210

    【C语言】文件操作

    例如有整数10000,如果以ASCII形式输出到磁盘,则磁盘中占用5个字节(一个字符占一个字节),而以二进制形式输出,则在磁盘上只占4个字节(在VS2019上测试)。 4....C程序针对文件、画面、键盘等的数据⼊输出操作都是同流操作的。 一般情况下,我们要想向流里写数据,或者从流中读取数据,都是要打开流,然后操作。...4.1.2 标准流 在C语言程序启动时,会默认打开三个流: ·stdin——标准输入流,在大多数的环境中从键盘输入 ·stdout——标准输出流,在大多数环境中输出到显示器界面 ·stderr——...标准错误流,在大多数环境中输出到显示器界面 默认打开这三个流之后,使用scanf、printf等函数就可以直接进行输入输出操作。...每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(文件的名字,文件的状态及文件当前的位置等)。

    11210
    领券