С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
1 / 1 / 0
Регистрация: 24.10.2020
Сообщений: 18

Двумерные массивы, турнирная таблица

30.04.2021, 09:56. Показов 1880. Ответов 1

Студворк — интернет-сервис помощи студентам
Доброго времени суток, прошу помочь с заданием:
Таблица футбольного чемпионата задана в виде двумерного массива из n строк и
n столбцов, в котором все элементы, принадлежащие главной диагонали, равны нулю, а
каждый элемент, не принадлежащий главной диагонали, равен 3, 1 или 0 (числу очков,
набранных в игре: 3—выигрыш, 1—ничья, 0—проигрыш).
а) Найти число команд, имеющих больше побед, чем поражений.
б) Определить номера команд, прошедших чемпионат без поражений. 53
в) Выяснить, имеется ли хотя бы одна команда, выигравшая более половины
игр.
г) Определить номер команды, ставшей чемпионом.
д) Определить, расположены ли команды в соответствии с занятыми ими
местами в чемпионате (принять, что при равном числе очков места распределяются
произвольно)
е) Для каждой команды определить занятое ею место (для простоты
принять, что при равном числе очков места распределяются произвольно).
ж) Получить последовательность номеров команд в соответствии с
занятыми ими местами (сначала должен идти номер команды, ставшей чемпионом, затем
команды, занявшей второе место и т.д.)

Конкретно проблема возникла с пунктами д, е, ж.
Вот код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
N = int(input('Введите кол-во комманд '))
        array = []
        pob = 0
        win = bool
        t = 0
        champ = 0
        countChamp = 0
        pol = (N-1) // 2
        poll = 0
 
        for i in range(N):
            z = []
            for j in range(N):
                z.append(random.randint(0, 2))
                if z[j] == 2:
                    z[j] = z[j] + 1
            array.append(z)
 
        for i in range(N):
            for j in range(N):
                if i == j:
                    array[i][j] = 0
                else:
                    array[j][i] = array[i][j]
 
        for i in range(N):
            for j in range(N):
                if array[i][j] == 3:
                    pob = pob + 1
                    poll = poll + 1
 
                elif array[i][j] == 0:
                    pob = pob - 1
 
        if poll >= pol:
            print('Кол-во команд которые выиграли больше половины игры: ' +str(pol) + '\n')
 
        else:
            print('Команд, которые выиграли больше половины игры нет!')
 
        if pob > 0:
            print('Кол-во команд, у которых больше побед, чем поражений = ' + str(pob) + '\n')
        else:
            print('У всех команд поражений/ничьих больше, чем побед!')
 
        for i in range(N):
            for j in range(N):
                print("{:5d}".format(array[i][j]), end='')
                if champ < sum(array[i]):
                    champ = sum(array[i])
                    countChamp = i+1
            print('    | Общие очки команды ' + str(i+1) + ' ', sum(array[i]))
            print()
 
        for i in range(N):
            for j in range(N):
                if i != j:
                    if array[i][j] == 0:
                        win = False
                        break
                    win = True
            if win:
                print('Команда № ' + str(i+1) + ' ' + 'прошла турнир без поражений!')
                t = t+1
        if t == 0:
            print('Команд прошедших турнир без поражения нет!')
        print('Команда ставшая чемпионом: Команда № ' + str(countChamp))
 
        array.sort(key=sum, reverse=True)
 
#Пункт д,е,ж
        for i in range(N):
            for j in range(N):
                print("{:5d}".format(array[i][j]), end='')
            print('    |' + str(i+1) + ' место |', sum(array[i]))
            print()
Проблема возникла из-за того, что я не дочитал и в массив не добавил список команд по номерам.
Как можно в этот код добавить 1 столбец по типу: Команда 1, команда 2, команда 3, команда N
Есть идея добавить массив и прибавить к нему массив с очками (победы, поражения, ничьи), но реализовать никак не выходит.
Подскажите, что можно сделать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.04.2021, 09:56
Ответы с готовыми решениями:

Турнирная таблица
Спортивный сезон В течение спортивного сезона проводится 5 соревнований, по результатам которых начисляются очки: Если спортсмен...

Турнирная таблица, работа со словарем
Даны финальные баллы спортсменов по результатам соревнований, которые хранятся в словаре final_scores. Напишите функцию, которая...

Двумерные массивы
Здравствуйте, помогите, пожалуйста, с заданием. Задание Дана целочисленная прямоугольная матрица. Определить: 1. Количество строк, не...

1
Эксперт Python
8848 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,315
30.04.2021, 11:12
n00b1, д,е,ж) создаешь список из кортежей -> (номер команды по порядку, количество очков, место по "условию")
Для "д" -> "условие" - Первая команда -> i = 1; далее, если число очков следующей не равно предыдущей, то у нее -> i += 1, иначе то же самое i. Сортировка исходного списка по "количество очков". Если элементы "по условию" исходного и отсортированного списков совпали, то порядок верный.
Для "е" и "ж" можно использовать отсортированный список
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.04.2021, 11:12
Помогаю со студенческими работами здесь

Двумерные массивы
почему выводит одно число,а не двумерный массив n = int(input()) m = int(input()) f=open('Вывод.txt','w') def z(n,m): ...

Двумерные массивы
Вычислить значение функции Результат записать в массив В(m,n)

Двумерные массивы
Всем привет! Прошу вас помочь решить задачку по двумерным массивам в python. Задание звучит так: Дана действительная квадратная...

Двумерные массивы и функции
Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей (определение соседних элементов:...

NumPy, двумерные массивы
Здравствуйте, нужна помощь. В заданной матрице найти номер первой из строк, содержащих хотя бы один положительный элемент


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru