|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.01.2024, 11:07 | #1 |
Новичок
Джуниор
Регистрация: 12.01.2024
Сообщений: 1
|
Помогите разобраться в проблеме;(
Есть задача: дан массив. Перемешать его элементы случайным образом так, чтобы каждый элемент оказался на новом месте.
Мой код: from random import randint arr = [1, 2, 3, 3, 0, 55] new_arr = [i*0 for i in range(0, len(arr))] #print(new_arr) for j in arr: index = randint(0, len(arr)) used = [] #print(index) while len(used) < len(arr): if new_arr[index] == 0 and index not in used: used.append(index) new_arr[index] = j continue print(new_arr) Проблема: код ничего не выводит, подскажите, почему |
12.01.2024, 12:24 | #2 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,338
|
1. После вставки кода выделите его и нажмите кнопку [CODE], которая находится над полем ввода.
2. Все элементы new_arr равны нулю и used пуст. В этом случае условный оператор не срабатывает и условие цикла while не изменяется - вечный цикл. 3. Если использовать ваш алгоритм генерации массива индексов, то надо проверять, что новый индекс не только не содержится в used, но и не равен индексу текущего элемента массива arr. Как вариант генерации нового массива индексов: Код:
Как-то так, ...
|
13.02.2024, 20:12 | #3 |
Новичок
Джуниор
Регистрация: 13.02.2024
Сообщений: 1
|
Well, there are some logical error with your code, can you try below code, hope it can fix the error you are getting.
Код:
Thanks |
13.02.2024, 23:15 | #4 |
Форумчанин
Регистрация: 17.06.2012
Сообщений: 987
|
Предыдущие программы заданию не соответствуют
https://rextester.com/KOHVY26276 https://rextester.com/YOSN36237 оставляя значения на месте даже если проверять много раз Есть моя многолетняя программа на языке высочайшего уровня Бэйсик расставляющая элементы массива на заданное расстояние от исходного например сейчас на 10% массива и пиша в файл для проверки Код:
Код:
вспомнил мой алгоритм повторяющиеся пишет со знаком минус и мой искусственный интеллект включает нейросеть и синтезирует ряды до упорядочения ячеек Код:
и можете проверить на языке программирования qb64 Задав смещение на 20% Код:
На другие языки программирования переводим сами и возможно переведу себе когда-нибудь Или учителя информатики могут задать ученикам Проверка онлайн там нажать Execute https://jdoodle.com/ia/W86
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
Последний раз редактировалось сфинкс; 14.02.2024 в 01:55. |
14.02.2024, 18:34 | #5 | ||||
Старожил
Регистрация: 23.10.2010
Сообщений: 2,338
|
сфинкс
Цитата:
В моём примере: Код:
Ежели вы и примере от rahul969, на который у вас ссылка, то зачем писать во множественном числе? В задании: Цитата:
1. Язык 2. Цитата:
3. Можете подумать и самостоятельно решить, что вставить в этот пункт. PS: Подсказка - Вопрос от ТС звучит так: Цитата:
Как-то так, ...
Последний раз редактировалось ViktorR; 14.02.2024 в 18:37. |
||||
15.02.2024, 03:53 | #6 |
Форумчанин
Регистрация: 17.06.2012
Сообщений: 987
|
" расставляющая элементы массива на заданное расстояние "
имеется в вижу минимальное расстояние в большую сторону не ограниченное как бы сфера вокруг ячейки где внутри повторяться запрещено про язык дальновидно пишу мол любой переделает за час за месяц да и исходная программа без отступов на питон не похожа Цитирующий случайно забыл процитировать ссылку на онлайно проверку https://rextester.com/YOSN36237 и там онлайн или оффлайн если стартовать несколько раз какой-нибудь результат будет противоречащим например задав исходный массив без повторов arr = [5, 4, 3, 2, 1, 0] обычный ответ [4, 5, 3, 2, 0, 1] где видим остались на месте 3 и 2 или если важно начинать с 0 ответ [3, 1, 0, 4, 2, 5] включает "1" будто на своём месте зато мой квантовый искусственный интеллект и нейросеть и чатгпт подобные ляпы не допускает вчерашняя ссылка случайно не процитированная https://rextester.com/YOSN36237 Или https://ideone.com/gH76VV arr = [1, 2, 3, 3, 0, 55] выдаёт [5, 3, 0, 1, 2, 6] Соответствует ли результат теме? В идеале лучше выяснить какие значения ячейки занимать не могут
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
Последний раз редактировалось сфинкс; 15.02.2024 в 04:06. |
15.02.2024, 17:19 | #7 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,338
|
Спасибо за замечание. Пришлось перепроверить.
В моём примере генерируется не сам массив а массив новых индексов. К сожалению не учёл, что randint(a,b) генерирует в диапазоне [a,b]. Исправил код и добавил вывод перемешанного массива: Код:
Код:
Как-то так, ...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помощь в проблеме с MS WORD | Alexander Gamza | Microsoft Office Word | 0 | 14.06.2017 15:38 |
Немогу разобраться в проблеме!!! | yokozyna | Помощь студентам | 2 | 02.01.2013 14:21 |
Не могу разобраться...в проблеме... | barakk | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 19.12.2011 22:30 |
Прошу совета в проблеме | Gans_sv | Компьютерное железо | 5 | 08.11.2009 20:27 |
Проблеме при смена размера Timage | AnTe | Мультимедиа в Delphi | 3 | 13.04.2009 05:28 |