2015-12-20 3 views
0

В задании говорится, что мне нужно создать панель случайных чисел 5x5 и рассчитать сумму чисел на строку, за кучу и рассчитать сумму чисел диагонали панели. Результаты должны быть сохранены в текстовом файле. Было бы очень полезно, если вы решите это с помощью команды «for».Создайте панель из случайных чисел 5x5

Например, как этот код:

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() 
+0

Пожалуйста, повторите попытку для решения этой проблемы. Лучше всего спросить о небольшой части кода, а не просить весь код. –

+4

Почему диапазон (10) и диапазон (4)? Как они связаны с массивом 5x5? – helloV

+0

Это просто пример, это не назначение –

ответ

0

Я использовал 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 
Смежные вопросы