Форум сайта python.su
помогите решить задачу в 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))
Отредактировано zyba (Янв. 15, 2014 12:42:00)
Офлайн
Я не опытный питонист, поэтому буду благодарен за указание на ошибки. Попробовал решить задачу таким образом:
# -*- 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]))
Отредактировано TroSer (Янв. 15, 2014 13:54:33)
Офлайн
матрица должна заполняться рандомно цифрами от 0 до 9
если не сложно можно поправить?
Отредактировано zyba (Янв. 15, 2014 13:49:04)
Офлайн
тогда можно заменить генерацию матрицы на
matrix = [[randint(0,9) for j in range(cols)] for i in range(rows)]
Отредактировано TroSer (Янв. 15, 2014 23:46:16)
Офлайн
спасибо за помощь,
остался один вопрос, почему сумма анти диагонали пишет по англиски? как исправить?
Офлайн
Пишется на английском, потому что я так написал
Вместо нее можно смело ставить русский текст, оно не повлияет на работоспособность.
что-то типа
print u'Сумма чисел на второстепенной диагонали: %d' %counter
Отредактировано TroSer (Янв. 15, 2014 14:02:21)
Офлайн
я пробовал, выдает информацию такого рода: СЃСѓРјРјР°
Офлайн
Теперь подошли к другому вопросу, под какой операционной системой и какой среде запускаете?
Офлайн
из-за чего обратился за помощью,
дали одну неделю на выполнение, а до этого я с программирование не имел ни какого отношения.
так что когда я читаю, не все осознается в полной мере.
когда пишу сам выдает чушь,
скопировал ваш код все работает.
работаю в W7 64 питон 2.7.6
а в какой версии вы работаете?
Отредактировано zyba (Янв. 15, 2014 14:13:24)
Офлайн
Ну так код работает или кракозяблы? Ну вы же просили под 2.7, под 2.7 и работаю)
Офлайн