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

Исправить повторения в функции random

28.11.2021, 15:58. Показов 1911. Ответов 4

Студворк — интернет-сервис помощи студентам
Здравствуйте, столкнулся с проблемой. При заполнении матрицы размерности 4х13 числами от 1 до 52 случайным образом, возникают повторения (их быть не должно).

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import random 
def Array(): 
    r = 0
    x = int(input("Введите ширину: ")) 
    y = int(input("Введите высоту: ")) 
    array = [] 
    for i in range(y): 
        array.append([]) 
        for j in range(x): 
            array[i].append(random.randint(1,52)) 
            r += 1
    print() 
    for i in range(y): 
        print(array[i]) 
 
Array()
Помогите пожалуйста найти ошибку. Заранее спасибо.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.11.2021, 15:58
Ответы с готовыми решениями:

random - случайное число без повторения
Здравствуйте!!! не знаю как реализовать random 1 числа без последующего повтора repeat checkfil:=true; begin ...

Помогите исправить код с Random
Привет всем! Помогите исправить код: public int n { get; set; } public ArrayList array = new ArrayList(); ...

Random без повторений, исправить код
Добрый день! Помогите оптимизировать код и так что бы значения рандома не повторялись! private void Form1_Load(object sender,...

4
enx
 Аватар для enx
1189 / 765 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
28.11.2021, 16:07
Лучший ответ Сообщение было отмечено Polier как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import random
 
 
def Array():
    x = int(input("Введите ширину: "))
    y = int(input("Введите высоту: "))
    r = x * y
    array = []
    tmp = list(range(1, r + 1))
    for i in range(y):
        array.append([])
        for j in range(x):
            array[i].append(tmp.pop(random.randint(0, r - 1)))
            r -= 1
    print()
    for i in range(y):
        print(array[i])
 
 
Array()
1
 Аватар для Semen-Semenich
5226 / 3472 / 1174
Регистрация: 21.03.2016
Сообщений: 8,299
28.11.2021, 16:08
Цитата Сообщение от Polier Посмотреть сообщение
возникают повторения (их быть не должно)
с чего вы так решили? используйте множество тогда повторений не будет. собираете требуемую длину а потом преобразуете в список
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
28.11.2021, 16:15
Polier, устроит?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import random
 
 
def array_gen(x: int, y: int):
    r = 0
    array = []
    for i in range(y):
        array.append([])
        for j in range(x):
            array[i].append(random.randint(1, 52))
            random.shuffle(array)
            r += 1
    print()
    for i in range(y):
        print(array[i])
 
 
if __name__ == '__main__':
    array_gen(x=int(input("Введите ширину: ")), y=int(input("Введите высоту: ")))
1
enx
 Аватар для enx
1189 / 765 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
28.11.2021, 16:23
Polier, держи, нормальную версию.

Python
1
2
3
4
5
6
7
8
9
def array(row: int, col: int) -> list:
    from random import shuffle
    ind = row * col
    tmp = list(range(1, ind + 1))
    shuffle(tmp)
    return [tmp[i:i + col] for i in range(0, ind, col)]
 
 
print(*array(int(input("Введите ширину: ")), int(input("Введите высоту: "))), sep='\n')
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.11.2021, 16:23
Помогаю со студенческими работами здесь

Удалить все повторения кроме последнего повторения.
Написать правило, которое в произвольном списке удаляет все повторения, кроме последнего повторения. Goal: del1(2,3,2,4,2,8,2,5,6],X)...

Цикл for для повторения функции
Есть такая часть кода, как правильно добавить цикл for для постоянного повторения этой функции? def tickets_change(): ...

Как сделать период повторения функции?
Как задать период повторения данной функции?

Не работает Random в функции
в первом примере все работает как надо if () { z=0; ...

Функции Sleep() и Random()
В С++ Borland 3.1 функции Sleep() и Random() понятно и очень просто реализованы. Есть ли аналог этих функций в Visual C++ 5.0 ? (с...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru