Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 25, 2020 14:15:20

Twist
Зарегистрирован: 2020-12-25
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите найти ошибку в программе

Только начал изучать питон и решил написать код, который выводит числа матрицы в порядке возрастания, но часть чисел он выводит нормально, а первые числа уже в последних строках почему-то не сравнивает и не переносит их на свое место, в чем может быть проблема, сижу уже сколько времени, а понять не могу, вроде должно все работать, заранее спасибо за помощь?

[code python]
import random
a = int(input('Введите кол-во строк в матрице: '))
b = int(input('Введите кол-во столбцов в матрице: '))
c = []
g = 0
for d in range(a):
c.append([])
for q in range(b):
c[d].append(0)
for d in range(a):
for e in range(b):
c[d][e] = random.randint(1,9)
print('Начальная матрица:')
for d in range(a):
print(c[d])
while g <= a*b:
for d in range(a):
for e in range(b):
if e == b - 1:
if d == a - 1:
g = g
else:
if c[d][e] > c[d+1][1]:
w = c[d][e]
c[d][e] = c[d+1][1]
c[d+1][1] = w
else:
if c[d][e] > c[d][e+1]:
w = c[d][e]
c[d][e] = c[d][e+1]
c[d][e+1] = w
g += 1
print('Итоговая матрица:')
for d in range(a):
print(c[d])
[/code]

Офлайн

#2 Дек. 26, 2020 08:40:29

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Помогите найти ошибку в программе

Правильный например такой:

 from itertools import chain
a=[[2,3],[6,4]]
print(sorted(chain(*a)))
[2,3,4,6]
А неправильно оно у вас в тех строках в которых ваш алгоритм отличается от приведенного выше. :)



Отредактировано doza_and (Дек. 26, 2020 08:47:03)

Офлайн

#3 Дек. 26, 2020 15:23:17

Twist
Зарегистрирован: 2020-12-25
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите найти ошибку в программе

Спасибо, помогло)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version