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

Генератор чисел

07.04.2021, 15:33. Показов 2972. Ответов 17

Студворк — интернет-сервис помощи студентам
Нужно создать пятизначное число из чисел 1 и 0

Python
1
2
3
4
5
import random
a = []
for i in range(5):
    a.append(random.randint(0, 1))
print(''.join(map(str, a)))
Есть ли легче путь создания?
Если да, подскажите пожалуйста!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.04.2021, 15:33
Ответы с готовыми решениями:

Создать файл из 200 целых чисел, лежащих на отрезке [5,1000], используя генератор случайных чисел
#Создать файл из 200 целых чисел, лежащих на отрезке , используя генератор случайных чисел. Вывести эти числа на экран. #Вывести на...

Генератор чисел
Доброго времени суток... a = for i in range(3): a.append(randint(1, 9)) print(a) обычный генератор...

Генератор чисел из массива
Привет, недавно начал изучать пайтон (до этого только фортран :( ) Встала задача в рамках учебно-просветительской программы для...

17
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
07.04.2021, 15:40
Python
1
2
import random
print(*[random.randint(0, 1) for _ in range(5)], sep='')
Добавлено через 29 секунд
Arsegg, жду решения через __import__ в одну строчку)
2
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
07.04.2021, 15:42
Цитата Сообщение от Ayan12 Посмотреть сообщение
Есть ли легче путь создания?
Python
1
2
3
4
5
from random import randrange
 
n = randrange(2 ** 5, 2 ** 6)
result = int(bin(n)[2:])
print(result)
Так пойдет?

Добавлено через 23 секунды

Не по теме:

Цитата Сообщение от alilxxey Посмотреть сообщение
жду решения через __import__ в одну строчку)
Нит!

3
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
07.04.2021, 15:56
Ayan12, как вариант через random
Python
1
2
3
from random import randint
a = bin(randint(1,31))[2:].rjust(5, '0')
print(a)
Добавлено через 14 минут
Arsegg,

Не по теме:

Нит!
Лентяй )))

3
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
07.04.2021, 16:05
Arsegg, Gdez,
Python
1
print(*[__import__('random').randint(0, 1) for _ in range(5)], sep='')
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
07.04.2021, 16:14
alilxxey, Gdez,
Python
1
print(bin(__import__("random").randrange(2 ** 5, 2 ** 6))[2:])
/upd
Цитата Сообщение от alilxxey Посмотреть сообщение
print(*[__import__('random').randint(0, 1) for _ in range(5)], sep='')
1) Очень плохо динамически подгружать модуль в цикле;
2) list-comprehensions стоит предпочитать generator expressions - не создается список на все элементы сразу. Хотя насчет * (star) не уверен, но скорее всего он распаковывает генератор последовательно.
1
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
07.04.2021, 16:18
Цитата Сообщение от Arsegg Посмотреть сообщение
1) Очень плохо динамически подгружать модуль в цикле;
2) list-comprehensions стоит предпочитать generator expressions - не создается список на все элементы сразу. Хотя насчет * (star) не уверен, но скорее всего он распаковывает генератор последовательно.
понял, спасибо. Если честно вообще не думал об этом, сделал как умею (или не умею), __import__ вообще впервые в жизни использовал. Спасибо за критику)
0
07.04.2021, 16:20

Не по теме:

Цитата Сообщение от alilxxey Посмотреть сообщение
__import__ вообще впервые в жизни использовал.
Лучше его вообще никогда не использовать)) Так, к слову)))

0
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
07.04.2021, 16:22
Arsegg, насчет
Цитата Сообщение от Arsegg Посмотреть сообщение
list-comprehensions стоит предпочитать generator expressions
вот это - генератор?
Python
1
print(*(__import__('random').randint(0, 1) for _ in range(5)), sep='')
то есть так писать правильнее? (да, да, я все еще циклически подгружаю модуль, но вопрос в другом)
0
0 / 0 / 0
Регистрация: 29.05.2019
Сообщений: 10
07.04.2021, 16:23  [ТС]
Например мне понравился код alilxxey
Python
1
2
import random
print(*[random.randint(0, 1) for _ in range(5)], sep='')
Не могли бы вы, мне помочь?
Как записать это в массив?

Мне нужно чтобы в массиве было... (Например: [10111, 11001 ...]
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
07.04.2021, 16:25
Цитата Сообщение от alilxxey Посмотреть сообщение
то есть так писать правильнее?
Нельзя так сказать, но я предпочитаю использовать в своих программах именно генераторы, т. к. память - ограниченный ресурс, и если запросишь слишком много, то программа упадет с MemoryLimit. А так, если памяти много, то списки работают шустрее, чем генераторы. Так что: It depends!
0
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
07.04.2021, 16:40
Цитата Сообщение от Arsegg Посмотреть сообщение
Нельзя так сказать, но я предпочитаю использовать в своих программах именно генераторы, т. к. память - ограниченный ресурс, и если запросишь слишком много, то программа упадет с MemoryLimit. А так, если памяти много, то списки работают шустрее, чем генераторы. Так что: It depends!
большое спасибо за объяснение!

Цитата Сообщение от Ayan12 Посмотреть сообщение
Не могли бы вы, мне помочь?
Как записать это в массив?
Мне нужно чтобы в массиве было... (Например: [10111, 11001 ...]
думаю над этим вопросом, у меня с этим возникают проблемы.
Arsegg, подскажите пожалуйста, как мне распаковать генераторы в списке? (может, я неправильно выразился, извините)
Python
1
2
3
4
import random
a = (random.randint(0, 1) for _ in range(5))
k = [a for _ in range(5)]
print(k)
Code
1
2
3
[<generator object <genexpr> at 0x7faf580cbcf0>, <generator object <genexpr> at 0x7faf580cbcf0>, <generator object <genexpr> at 0x7faf580cbcf0>, <generator object <genexpr> at 0x7faf580cbcf0>, <generator object <genexpr> at 0x7faf580cbcf0>]
 
Process finished with exit code 0
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
07.04.2021, 16:51
Цитата Сообщение от alilxxey Посмотреть сообщение
подскажите пожалуйста, как мне распаковать генераторы в списке? (может, я неправильно выразился, извините)
* (star), но он в list-comps'ах и gen exp'ах не работает.

Мой вариант:
Python
1
2
3
4
5
6
from random import randrange
 
def generate(start=2 ** 5, end=2 ** 6):
    return int(bin(randrange(start, end))[2:])
    
print(*(generate() for _ in range(5)))
0
0 / 0 / 0
Регистрация: 29.05.2019
Сообщений: 10
07.04.2021, 16:52  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import random
 
count = 0
while count < 8:
    A = [random.randint(0, 1) for i in range(5)]
    print(*A, sep='')
    a = int(input("Vvedite  4islo: "))
    count += 1
    if a == A:
        print("SMTH")
        break
    else:
        print("SMTH2")
        break
Как я понимаю при рандоме, оно выводит 4 чисел без пробела, а я ввожу 1 число, из-за этого всегда выводит (SMTH2)
Возможно ли это как-то исправить?
0
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
07.04.2021, 16:52
Цитата Сообщение от Arsegg Посмотреть сообщение
* (star), но он в list-comps'ах и gen exp'ах не работает.
да, это я уже заметил. Но ТС просит список из чисел, а не вывод через звездочку. В этом и вопрос собственно
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
07.04.2021, 17:00
Цитата Сообщение от alilxxey Посмотреть сообщение
да, это я уже заметил. Но ТС просит список из чисел, а не вывод через звездочку. В этом и вопрос собственно
Ты пытаешься продублировать генератор, что в корне неверно, т. к. генератор - это значит один проход. Если ты один раз его прошел, то второй раз пройтись по нему не получится - будет кидать StopIteration.
0
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
07.04.2021, 17:03
Arsegg, то есть генератор можно использовать только 1 раз? Даже если генерируется через рандом?
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
07.04.2021, 17:18
Цитата Сообщение от alilxxey Посмотреть сообщение
то есть генератор можно использовать только 1 раз? Даже если генерируется через рандом?
Кури: Python | Generator Expressions.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.04.2021, 17:18
Помогаю со студенческими работами здесь

Генератор случайных чисел
Генерируется список случайных целых чисел. Определяется, сколько в нем четных чисел, а сколько нечетных.

Генератор нечетных чисел
Добрый вечер! Как мне сделать рандомные нечетные числа, например, в диапазоне от 0 до 10? Если без диапазона, то все понятно. Помогите,...

Генератор псевдослучайных чисел
Модифицируйте программу так, чтобы элементы массива не вводились с клавиатуры, а генерировались генератором псевдослучайных чисел ...

Генератор простых чисел
Помогите плз исправить генератор простых чисел. Сейчас выдаёт следующее: 2,3,2,2,2,2,2 вместо 2,3,5,7,11,13,17 def simple(): lst= ...

Генератор случайных чисел
Добрый день, друзья :)! Подскажите, пожалуйста. в учебнике программа есть такая, но у меня не работает в пэйчарме. Ошибка ниже, вроде как...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru