动态二位数组
文章目录
- 动态二位数组
- 前言
- 一、基本内容
- 二、代码编写
- 三、效果展示
前言
没想出啥好点子,这次就给大家写个小程序,动态二维数组吧。
一、基本内容
程序画一个二维的方格,然后里面填上1-10的随机数,每隔一秒更新新一次。
二、代码编写
代码如下:
import time
import random
from tabulate import tabulate
# 创建一个5x5的二维列表(数组)
rows = 5
cols = 5
arr = []
arr = [[None for col in range(cols)] for row in range(rows)]
for row in range(rows):
for col in range(cols):
arr[row][col] = 0
print(arr)
# 填充一些随机数据
while True:
for row in arr:
for i, _ in enumerate(row):
row[i] = random.randint(1, 10)
# 打印成带边框的表格
print(tabulate(arr, tablefmt="grid"))
print("\n\n\n")
time.sleep(1)
可能需要解释的代码如下:
- from tabulate import tabulate:从tabulate模块导入tabulate函数,这个函数可以将数据转换成漂亮的表格格式。
- rows = 5: 定义一个变量rows,其值为5,表示二维列表的行数。
- cols = 5: 定义一个变量cols,其值为5,表示二维列表的列数。
- arr = []: 创建一个空的列表arr,用于存储二维列表。
- arr = [[None for col in range(cols)] for row in range(rows)]:使用列表推导式创建一个5x5的二维列表,其中每个元素初始值为None。
- for row in range(rows): 和 for col in range(cols)::使用两个嵌套循环遍历二维列表的所有元素。
- arr[row][col] = 0: 将二维列表中的所有元素初始化为0。
- for row in arr: 和 for i, _ in enumerate(row)::再次使用两个嵌套循环遍历二维列表的所有元素。
- row[i] = random.randint(1, 10):使用random.randint()函数为二维列表中的每个元素生成一个1到10之间的随机整数。
- print(tabulate(arr, tablefmt=“grid”)):使用tabulate函数将二维列表转换成带边框的表格格式,并打印。
三、效果展示
这个二维数组的行数和列数,还有每个方格内的内容可以根据大家的需要自行修改。比如将随机数改成其他的中文或者英文也是可以的等等。