某两个超市均销售了5种相同的牛奶产品,为了对比A、B两个超市中5种牛奶产品的价格,创建milk_a和milk_b两个一维数组,分别存放两个超市的牛奶价格,对两个数组中存放的价格进行比较运算。
代码:
- import numpy as np
-
- milk_a = np.array([19.9, 25, 29.9, 45, 39.9])
- milk_b = np.array([18.9, 25, 24.9, 49, 35.9])
-
- # 使用大于符号(>)对两个数组进行比较
- comparison_result = milk_a > milk_b
-
- print(comparison_result)
数独是一种数学智力填空游戏,数独的玩法逻辑简单,数字排列方式多种多样,是一种锻炼大脑的游戏。为了使学生了解数独游戏的玩法,需要创建6✖6的数独游戏,填充6✖6矩阵。矩阵每一行的数字为1~6且不能重复,每一列的数字同样为1~6且不能重复。
- import numpy as np
- def is_valid(board, row, col, num):
- # 检查行是否合法
- if num in board[row]:
- return False
- # 检查列是否合法
- if num in board[:, col]:
- return False
- # 检查3x2小矩阵是否合法
- if num in board[row - row % 3:row - row % 3 + 3, col - col % 2:col - col % 2 + 2]:
- return False
- return True
- def solve_sudoku(board):
- for row in range(6):
- for col in range(6):
- if board[row][col] == 0:
- for num in range(1, 7):
- if is_valid(board, row, col, num):
- board[row][col] = num
- if solve_sudoku(board):
- return True
- board[row][col] = 0
- return False
- return True
- # 创建一个6x6的空数独游戏矩阵
- sudoku_board = np.zeros((6, 6), dtype=int)
- # 填充数独矩阵
- solve_sudoku(sudoku_board)
- print(sudoku_board)
要创建4个相同的3x3对角矩阵,对角线元素分别为[1, 2, 3],然后将它们合并为一个6x6的新矩阵,您可以使用NumPy库来完成这个任务。首先,我们将创建一个3x3的对角矩阵,然后使用np.block函数将这些矩阵堆叠在一起,以创建一个6x6的新矩阵。
代码:
- import numpy as np
-
- # 创建一个3x3的对角矩阵,对角线元素为[1, 2, 3]
- diagonal_matrix = np.diag([1, 2, 3])
-
- # 使用np.block函数堆叠四个相同的3x3对角矩阵
- block_matrix = np.block([[diagonal_matrix, np.zeros((3, 3))],
- [np.zeros((3, 3)), diagonal_matrix]])
-
- print(block_matrix)
再将上述矩阵转置
代码:
transposed_matrix = block_matrix.T
或者
transposed_matrix = np.transpose(block_matrix)
完整代码:
- import numpy as np
-
- # 创建一个3x3的对角矩阵,对角线元素为[1, 2, 3]
- diagonal_matrix = np.diag([1, 2, 3])
-
- # 使用np.block函数堆叠四个相同的3x3对角矩阵
- block_matrix = np.block([[diagonal_matrix, np.zeros((3, 3))],
- [np.zeros((3, 3)), diagonal_matrix]])
-
- # 输出合并后的6x6矩阵
- print("合并后的6x6矩阵:")
- print(block_matrix)
-
- # 获取矩阵的转置
- transposed_matrix = block_matrix.T
-
- # 输出转置矩阵
- print("\n转置矩阵:")
- print(transposed_matrix)