创建一个由5x5个随机数组成的面板

2024-04-25 05:35:14 发布

您现在位置:Python中文网/ 问答频道 /正文

作业要求我创建一个随机数为5x5的面板,计算每行、每堆的数字之和,并计算面板对角线的数字之和。结果必须保存在文本文件中。 如果你用“for”命令来解决这个问题,会很有帮助。你知道吗

例如如下代码:

import random

randnumb = []   
for i in range(10):   
    line= []
    for j in range(4):
        line.append(random.randint(1,1000))    
    randnumb.append(line)    
a=open("a.txt","w")  
for i in range(10):    
    g=""   
    for j in range(4):    
        g += str(randnumb[i][j])+ " " 
    g += "\n"  
    a.write(g)   
a.close()    
a=open("a.txt","r")    
print(a.read())    
a.close()

Tags: intxt面板forclose作业linerange
1条回答
网友
1楼 · 发布于 2024-04-25 05:35:14

我使用了for,但是如果您愿意,可以用它替换为map。你知道吗

import random

# generates 5 x 5 random matrix
random.seed(23)
a = [[random.random() for _ in range(5)] for x in range(5)]

rowSums = [sum(row) for row in a] # for each row ... sum the numbers in the list...
columnSums = [sum(col) for col in zip(*a)] # for each column ... sum the numbers in the list...
diagonalSum = sum([a[i][i] for i in range(len(a))])

# print results
print rowSums
# [3.4414822773841207, 1.720709091012754, 1.4966213860156654, 2.084642254225464, 3.621865231749428]

print columnSum
# [2.7740025507928237, 3.035484154123261, 2.4396250416690193, 1.3413097355704942, 2.774898758231834]

print diagonalSum
# 2.8094518166

相关问题 更多 >