Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 15, 2014 08:26:31

zyba
Зарегистрирован: 2014-01-15
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите решить задачу по матрице

помогите решить задачу в 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)

Офлайн

#2 Янв. 15, 2014 13:30:10

TroSer
От: Харьков
Зарегистрирован: 2013-11-13
Сообщения: 65
Репутация: +  3  -
Профиль   Отправить e-mail  

помогите решить задачу по матрице

Я не опытный питонист, поэтому буду благодарен за указание на ошибки. Попробовал решить задачу таким образом:

# -*- 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)

Офлайн

#3 Янв. 15, 2014 13:40:29

zyba
Зарегистрирован: 2014-01-15
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите решить задачу по матрице

матрица должна заполняться рандомно цифрами от 0 до 9
если не сложно можно поправить?

Отредактировано zyba (Янв. 15, 2014 13:49:04)

Офлайн

#4 Янв. 15, 2014 13:53:13

TroSer
От: Харьков
Зарегистрирован: 2013-11-13
Сообщения: 65
Репутация: +  3  -
Профиль   Отправить e-mail  

помогите решить задачу по матрице

тогда можно заменить генерацию матрицы на

matrix = [[randint(0,9) for j in range(cols)] for i in range(rows)]
поправил в коде

Отредактировано TroSer (Янв. 15, 2014 23:46:16)

Офлайн

#5 Янв. 15, 2014 13:57:52

zyba
Зарегистрирован: 2014-01-15
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите решить задачу по матрице

спасибо за помощь,
остался один вопрос, почему сумма анти диагонали пишет по англиски? как исправить?

Офлайн

#6 Янв. 15, 2014 13:59:43

TroSer
От: Харьков
Зарегистрирован: 2013-11-13
Сообщения: 65
Репутация: +  3  -
Профиль   Отправить e-mail  

помогите решить задачу по матрице

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

что-то типа

print u'Сумма чисел на второстепенной диагонали: %d' %counter
И было бы неплохо хотя бы азы почитать, даже не Python, а вообще программирования.

Отредактировано TroSer (Янв. 15, 2014 14:02:21)

Офлайн

#7 Янв. 15, 2014 14:02:49

zyba
Зарегистрирован: 2014-01-15
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите решить задачу по матрице

я пробовал, выдает информацию такого рода: СЃСѓРјРјР°

Офлайн

#8 Янв. 15, 2014 14:05:14

TroSer
От: Харьков
Зарегистрирован: 2013-11-13
Сообщения: 65
Репутация: +  3  -
Профиль   Отправить e-mail  

помогите решить задачу по матрице

Теперь подошли к другому вопросу, под какой операционной системой и какой среде запускаете?

Офлайн

#9 Янв. 15, 2014 14:06:46

zyba
Зарегистрирован: 2014-01-15
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите решить задачу по матрице

из-за чего обратился за помощью,
дали одну неделю на выполнение, а до этого я с программирование не имел ни какого отношения.
так что когда я читаю, не все осознается в полной мере.


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

а в какой версии вы работаете?

Отредактировано zyba (Янв. 15, 2014 14:13:24)

Офлайн

#10 Янв. 15, 2014 14:15:32

TroSer
От: Харьков
Зарегистрирован: 2013-11-13
Сообщения: 65
Репутация: +  3  -
Профиль   Отправить e-mail  

помогите решить задачу по матрице

Ну так код работает или кракозяблы? Ну вы же просили под 2.7, под 2.7 и работаю)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version