Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 27.03.2018
Сообщений: 17
1

Сделать разную парность в масиве

18.12.2019, 10:23. Показов 2130. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
from random import sample
class Binary_matrix:
 
    set_range = list()
    a_set_array = list()
    b_set_array = list()
    relation_array = list()
    binary_matrix_array = list()
    charasteristics_list = list()
    make = list()
    def __init__(self, set_size , max_number):
        self.set_size = set_size
        self.max_number = max_number
 
    def sort_by_reasing(self):
        sorted_array_a = list()
        sorted_array_b = list()
        for i in range(self.max_number + 1):
            for j in self.a_set_array:
                if (i == j):
                    sorted_array_a.append(j)
            for j in self.b_set_array:
                if (i == j):
                    sorted_array_b.append(j)
        self.a_set_array = sorted_array_a
        self.b_set_array = sorted_array_b
 
    def make(self):
       make = list()
       for i in range(self.set_size):
        for j in range(self.set_size):
         if(self.binary_matrix_array[i][j] == self.binary_matrix_array[j][i]):
            make.append("Симетрія")
         else:
             make.append("Асиметричність")
       if "Асиметричність" in make:
           print("Асиметричність")
       else: print("Симетричність")
 
    def make_2(self):
        sum_first_diagonal = 0
        for i in range(self.set_size):
 
            for j in range(self.set_size):
                sum_first_diagonal = sum(self.binary_matrix_array[i][i] for i in range(10))
        if sum_first_diagonal == 10:
            print("Pефлекcивність")
 
    def make_3(self):
        sum_first_diagonal = 0
        for i in range(self.set_size):
 
            for j in range(self.set_size):
                sum_first_diagonal = sum(self.binary_matrix_array[i][i] for i in range(10))
        if sum_first_diagonal == 0:
            print("Антирефлекcивність")
 
    def make_4(self):
        sum_first_diagonal = 0
        for i in range(self.set_size):
 
            for j in range(self.set_size):
                sum_first_diagonal = sum(self.binary_matrix_array[i][i] for i in range(10))
        if sum_first_diagonal == 10 and (self.binary_matrix_array[i][j] == self.binary_matrix_array[j][i]):
            print("Антисиметричність")
 
    def make_5(self):
        for i in range(len(self.relation_array)):
            if (i + 1 < len(self.relation_array)):
                if (not (self.relation_array[i][1] % self.relation_array[i + 1][0] == 0) and
                        (self.relation_array[i][0] % self.relation_array[i + 1][0] == 0)):
                    self.charasteristics_list.append("Антитранзитивність")
                    break
        if "Антитранзитивність" not in self.charasteristics_list:
            self.charasteristics_list.append("Транзитивність")
        print(self.charasteristics_list)
 
    def make_relation_n_matrix_array(self):
        for i in self.a_set_array:
            bin_nums = []
            for j in self.b_set_array:
                if (i%j==1):
                    self.relation_array.append((i, j))
                    bin_nums.append(1)
 
                else:
                    bin_nums.append(0)
            self.binary_matrix_array.append(bin_nums)
 
    def print_matrix_n_relations(self):
        print("Relations=", self.relation_array, "\n")
 
        print(end="   " + str(self.b_set_array) + "\n")
        for x in self.a_set_array:
            print(x, "\t")
        for i in range(self.set_size):
 
            for j in range(self.set_size):
                print(self.binary_matrix_array[i][j], end="   ")
            print()
 
binary_matrix = Binary_matrix(10, 10 )
binary_matrix.set_range = range(1, binary_matrix.max_number + 1)
binary_matrix.a_set_array = sample(binary_matrix.set_range, binary_matrix.set_size)
binary_matrix.b_set_array = sample(binary_matrix.set_range, binary_matrix.set_size)
binary_matrix.sort_by_reasing()
binary_matrix.make_relation_n_matrix_array()
binary_matrix.print_matrix_n_relations()
binary_matrix.make()
binary_matrix.make_2()
binary_matrix.make_3()
binary_matrix.make_4()
binary_matrix.make_5()
1)Сгенерировать числа от 1 до 20
2)И сгенирировать разную парность .
Что бы например было : (1, 2 , 3 ,4 ,7, 8 ,9 ,10 и т.д)
А результатом было (1, 2), (1,4), (1,8), (1,10), (2,3), (2,7) и так далее
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.12.2019, 10:23
Ответы с готовыми решениями:

Random, позволяющий сделать разную выборку
Я знаю как пользоваться функцией Random, интересует как сделать, так чтобы 80% выборки после...

Как сделать разную ширину у столбцов?
Есть такая таблица, где первый столбец это дата и время, может быть несколько столбцов. /* ...

Не могу сделать разную нумерацию в верхнем и нижнем колонтитуле
Здравствуйте, во вложении - в верхнем правом углу нумерация после 6 идет 5 часа по 3 второй день...

Доступ к Масиву в масиве которий тоже в масиве
Array ( =&gt; Array ( =&gt; Array ( =&gt; Array ( =&gt;...

11
Эксперт Python
 Аватар для dondublon
4640 / 2056 / 363
Регистрация: 17.03.2012
Сообщений: 10,138
Записей в блоге: 6
18.12.2019, 11:11 2
1) range
2) Что такое парность? Посмотрите различные permutations из itertools, авось пригодится.
0
0 / 0 / 0
Регистрация: 27.03.2018
Сообщений: 17
18.12.2019, 11:15  [ТС] 3
парность-четность
0
Эксперт Python
 Аватар для dondublon
4640 / 2056 / 363
Регистрация: 17.03.2012
Сообщений: 10,138
Записей в блоге: 6
18.12.2019, 11:18 4
Окей. И что значит "сгенерировать разную чётность"?
0
0 / 0 / 0
Регистрация: 27.03.2018
Сообщений: 17
18.12.2019, 11:19  [ТС] 5
Что бы например было : (1, 2 , 3 ,4 ,7, 8 ,9 ,10 и т.д)
А результатом было (1, 2), (1,4), (1,8), (1,10), (2,3), (2,7) и так далее
0
Эксперт Python
 Аватар для dondublon
4640 / 2056 / 363
Регистрация: 17.03.2012
Сообщений: 10,138
Записей в блоге: 6
18.12.2019, 11:21 6
И по какому правилу у вас это получилось? Неочевидно.
0
0 / 0 / 0
Регистрация: 27.03.2018
Сообщений: 17
18.12.2019, 11:25  [ТС] 7
Задали такое задание не знаю как это сделать . Ищу в инете может модуль есть какой-то
0
Эксперт Python
 Аватар для dondublon
4640 / 2056 / 363
Регистрация: 17.03.2012
Сообщений: 10,138
Записей в блоге: 6
18.12.2019, 12:16 8
Poluak, модули бывают только для типовых задач.
Окей, вы не знаете, как сделать, а что сделать? Что получить в результате, словесное описание?
Дан список, [x1, x2, ..., xn], что получить? Понятно, что какие-то пары. Какие?
0
0 / 0 / 0
Регистрация: 27.03.2018
Сообщений: 17
18.12.2019, 12:28  [ТС] 9
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
from random import sample
class Binary_matrix:
 
    set_range = list()
    a_set_array = list()
    b_set_array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
    #b_set_array = list()
    relation_array = list()
    binary_matrix_array = list()
    charasteristics_list = list()
    make = list()
    def __init__(self, set_size , max_number):
        self.set_size = set_size
        self.max_number = max_number
 
    def sort_by_reasing(self):
        sorted_array_a = list()
        sorted_array_b = list()
        for i in range(self.max_number + 1):
            for j in self.a_set_array:
                if (i == j):
                    sorted_array_a.append(j)
            for j in self.b_set_array:
                if (i == j):
                    sorted_array_b.append(j)
        self.a_set_array = sorted_array_a
        self.b_set_array = sorted_array_b
 
    def make(self):
       make = list()
       for i in range(self.set_size):
        for j in range(self.set_size):
         if(self.binary_matrix_array[i][j] == self.binary_matrix_array[j][i]):
            make.append("Симетрія")
         else:
             make.append("Асиметричність")
       if "Асиметричність" in make:
           print("Асиметричність")
       else: print("Симетричність")
 
    def make_2(self):
        sum_first_diagonal = 0
        for i in range(self.set_size):
 
            for j in range(self.set_size):
                sum_first_diagonal = sum(self.binary_matrix_array[i][i] for i in range(10))
        if sum_first_diagonal == 10:
            print("Pефлекcивність")
 
    def make_3(self):
        sum_first_diagonal = 0
        for i in range(self.set_size):
 
            for j in range(self.set_size):
                sum_first_diagonal = sum(self.binary_matrix_array[i][i] for i in range(10))
        if sum_first_diagonal == 0:
            print("Антирефлекcивність")
 
    def make_4(self):
        sum_first_diagonal = 0
        for i in range(self.set_size):
 
            for j in range(self.set_size):
                sum_first_diagonal = sum(self.binary_matrix_array[i][i] for i in range(10))
        if sum_first_diagonal == 10 and (self.binary_matrix_array[i][j] == self.binary_matrix_array[j][i]):
            print("Антисиметричність")
 
    def make_5(self):
        for i in range(len(self.relation_array)):
            if (i + 1 < len(self.relation_array)):
                if (not (self.relation_array[i][1] % self.relation_array[i + 1][0] == 0) and
                        (self.relation_array[i][0] % self.relation_array[i + 1][0] == 0)):
                    self.charasteristics_list.append("Антитранзитивність")
                    break
        if "Антитранзитивність" not in self.charasteristics_list:
            self.charasteristics_list.append("Транзитивність")
        print(self.charasteristics_list)
 
    def make_relation_n_matrix_array(self):
        for i in self.a_set_array:
            bin_nums = []
            n = len(bin_nums)
            for j in self.b_set_array:
                #if (i%j==1):
                if (i % 2 == 0 and j % 2 != 0) :
 
                    self.relation_array.append((i, j))
                    bin_nums.append(1)
                    for i in range(n):
                        for j in range(n):
                            if bin_nums[i][j] != bin_nums[j][i]:
                                bin_nums.append(reversed([j][i])) ##ГДЕ-ТО ЗДЕСЬ НУЖНО ИСПРАВИТЬ
                else:
                    bin_nums.append(0)
            self.binary_matrix_array.append(bin_nums)
 
    def print_matrix_n_relations(self):
        print("Relations=", self.relation_array, "\n")
 
        print(end="   " + str(self.b_set_array) + "\n")
        for x in self.a_set_array:
            print(x, "\t")
        for i in range(self.set_size):
 
            for j in range(self.set_size):
                print(self.binary_matrix_array[i][j], end="   ")
            print()
 
binary_matrix = Binary_matrix(10, 20 )
binary_matrix.set_range = range(1, binary_matrix.max_number + 1)
binary_matrix.a_set_array = sample(binary_matrix.set_range, binary_matrix.set_size)
binary_matrix.b_set_array = sample(binary_matrix.set_range, binary_matrix.set_size)
binary_matrix.sort_by_reasing()
binary_matrix.make_relation_n_matrix_array()
binary_matrix.print_matrix_n_relations()
binary_matrix.make()
binary_matrix.make_2()
binary_matrix.make_3()
binary_matrix.make_4()
binary_matrix.make_5()
я уже сделала. Только проблема теперь в другом мне нужно что бы виводило дзеркально числа.
Есть вот так. Relations= [(2, 1), (2, 5), (2, 9), (2, 11), (2, 17), (2, 19), (6, 1), (6, 5), (6, 9), (6, 11), (6, 17), (6, 19), (8, 1), (8, 5), (8, 9)
А нужно + до этого и дзеркально (1, 2), (5, 2), (9, 2), (11, 2), (19, 2).
Выше закоментировала
0
Status 418
Эксперт Python
4580 / 2348 / 601
Регистрация: 26.11.2017
Сообщений: 5,264
Записей в блоге: 3
18.12.2019, 12:47 10
Лучший ответ Сообщение было отмечено Poluak как решение

Решение

Python
1
2
3
from itertools import combinations
a = [1, 2, 3, 4, 5, 6, 7]
print(*combinations(a, 2))
2
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199
19.12.2019, 11:22 11
Странно, что не Лис. Обычно он ужимает скриптовые простыни в пару лаконичных строк.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5966 / 3729 / 1097
Регистрация: 17.05.2012
Сообщений: 10,787
Записей в блоге: 9
19.12.2019, 11:52 12

Не по теме:

я тут вообще не причём



Добавлено через 6 минут
Valua, звёздочка в коде выше означает, что мы "распаковываем" итерируемый объект (список).

Another interesting thing you can do with the unpacking operator * is to split the items of any iterable object.
Следующий код аналогичен:
Python
1
2
3
a = [1, 2]
print(*a)  # в функцию будет передано несколько аргументов
print(a[0], a[1])
1
19.12.2019, 11:52
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.12.2019, 11:52
Помогаю со студенческими работами здесь

CSS grid как сделать разную высоту у элементов в ряду?
Я хочу чтобы высота первого блока (sidebar) была минимум 10 пикселей, а если в нём контента больше...

Как сделать разную шапку для планшета и десктопа на Elementor?
Есть сайт, который сделан на Elementor, нужно поправить адаптив шапки для планшета и телефона. Я...

Как сделать для каждого оружия свою анимацию и разную стрельбу?
есть у меня система подбора оружий(она работает) и нужно для каждого оружия сделать свою анимацию и...

Сделать выборку в одномерном масиве
есть массив 1,2,3,4,1,2,3,4,1,2,3,4 выбрать последованость 1,2,3,4 да так чтобы по разным частям...

Как сделать сдвиг в масиве на ST
Всем привет. Вопрос судя по всему стар как мир. Точнее два вопроса. Есть масив, например...

Можно ли сделать запрос, который будет выводить разную информацию в зависимости от пользователя которые используют sql server?
Можно сделать запрос который будет выводить разную информацию в зависимости от пользователя которые...

Парность и непарность
В чём проблема? #include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_ALL,...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Списки в Haskell
hw_wired 28.01.2025
Haskell является функциональным языком программирования, который отличается лаконичностью синтаксиса и мощными абстракциями. Важным концептом в Haskell являются списки — упорядоченные коллекции. . .
Функции высшего порядка в Haskell
hw_wired 28.01.2025
Haskell – это современный функциональный язык программирования, который получил широкое распространение благодаря своей выразительности и мощным абстракциям. Одной из ключевых особенностей Haskell. . .
Как в цикле обойти все поля объекта в JavaScript
bytestream 28.01.2025
Объекты в JavaScript представляют собой фундаментальные структуры данных, которые позволяют хранить и организовывать связанную информацию в виде пар ключ-значение. Каждый объект можно представить как. . .
Как выбрать строки в DataFrame по значению столбца в Pandas
bytestream 28.01.2025
В области анализа данных библиотека Pandas стала незаменимым инструментом для работы с табличными данными в Python. Эта мощная библиотека предоставляет множество функций для эффективной обработки и. . .
Как сделать перенос строки в Bash
bytestream 28.01.2025
При работе с командной оболочкой Bash разработчики часто сталкиваются с необходимостью форматирования текстового вывода, где ключевую роль играет правильное управление переносами строк. Умение. . .
Поиск подстроки в строке с помощью Bash
bytestream 28.01.2025
Поиск подстроки в строке является одной из важных задач в программировании и обработке текстов. Применение такого поиска можно найти в самых разных областях, от анализа данных до разработки. . .
[golang] 169. Majority Element
alhaos 28.01.2025
Тут надо вернуть "мажористый" элемент который встречается в слайсе больше чем в половине случаев. По условиям задачи во входных данных такой элемент обязан присутствовать. / / . . .
Когда лучше использовать LinkedList вместо ArrayList в Java
bytestream 28.01.2025
При разработке Java-приложений выбор правильной структуры данных играет ключевую роль в обеспечении эффективности и производительности программы. ArrayList и LinkedList являются двумя. . .
Какой ответ HTTP лучше использовать: 403 Forbidden или 401 Unauthorized, когда недостаточно прав
bytestream 28.01.2025
В современной веб-разработке правильная обработка ошибок и точное информирование клиентов о статусе их запросов играют критическую роль в создании надежных и безопасных приложений. Особое внимание. . .
Как получить список всех файлов коммита в Git
bytestream 28.01.2025
Система контроля версий Git представляет собой мощный инструмент для управления изменениями в программном коде и других файлах проекта. В основе работы Git лежит концепция коммитов - снимков. . .
Как записать только часть изменений файла в Git
bytestream 28.01.2025
В процессе разработки программного обеспечения часто возникает необходимость сохранить только определенные изменения из множества внесенных правок в файлах. Система контроля версий Git предоставляет. . .
[golang] 80. Remove Duplicates from Sorted Array II
alhaos 28.01.2025
В предоставленном упорядоченном по возрастанию целочисленном слайсе, оставить уникальные элементы полюс один возможный дубликат. Вернуть количество таких элементов. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru