Найти - Пользователи
Полная версия: помогите решить задачу по матрице
Начало » Python для новичков » помогите решить задачу по матрице
1 2
zyba
помогите решить задачу в Python 2.7:
1. в данной матрице вычислить сумму второстепенной диагонали с выводом в шел
2. в данной матрице обнулить внутренне содержимое нижнего треугольника с выводом в шел

если не трудно выложить решение полностью

Код Python
# -*- coding: cp1251 -*-
a=int(raw_input ('введите номер зачетки:'))
from random import randint
N, M = a, a
matrix = [ for r in xrange(N)]
for r in matrix:
print(('{:5}' * M).format(*r))
TroSer
Я не опытный питонист, поэтому буду благодарен за указание на ошибки. Попробовал решить задачу таким образом:
# -*- coding: utf-8 -*-
from random import randint
some_number = int(raw_input(u'введите номер зачетки:'))
rows, cols = some_number, some_number #only if you need a quadratic matrix
counter = 0
matrix = [[randint(0,9) for j in range(cols)] for i in range(rows)]
for row in range(rows):
    counter += matrix[row][cols - 1 - row]
    for col in range(cols):
        if col < row:
            matrix[row][col] = 0
print 'Sum on the anti-diagonal is: %d' %counter
for row in range(len(matrix)):
    print ', '.join(map(str, matrix[row]))

так как не совсем понятно какими данными должна заполняться матрица, пока что она заполняется значениями по возрастанию.
zyba
матрица должна заполняться рандомно цифрами от 0 до 9
если не сложно можно поправить?
TroSer
тогда можно заменить генерацию матрицы на
matrix = [[randint(0,9) for j in range(cols)] for i in range(rows)]
поправил в коде
zyba
спасибо за помощь,
остался один вопрос, почему сумма анти диагонали пишет по англиски? как исправить?
TroSer
Пишется на английском, потому что я так написал
Вместо нее можно смело ставить русский текст, оно не повлияет на работоспособность.

что-то типа
print u'Сумма чисел на второстепенной диагонали: %d' %counter
И было бы неплохо хотя бы азы почитать, даже не Python, а вообще программирования.
zyba
я пробовал, выдает информацию такого рода: СЃСѓРјРјР°
TroSer
Теперь подошли к другому вопросу, под какой операционной системой и какой среде запускаете?
zyba
из-за чего обратился за помощью,
дали одну неделю на выполнение, а до этого я с программирование не имел ни какого отношения.
так что когда я читаю, не все осознается в полной мере.


когда пишу сам выдает чушь,
скопировал ваш код все работает.
работаю в W7 64 питон 2.7.6

а в какой версии вы работаете?
TroSer
Ну так код работает или кракозяблы? Ну вы же просили под 2.7, под 2.7 и работаю)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB