Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 5, 2017 18:13:31

JZ911
Зарегистрирован: 2017-11-02
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите как сделать это...

Write a function to generate list of 100000 integer numbers and list of 100000 float numbers, numbers
should be in range 0 - 99, this lists will be input parameters for next functions.

Напишите функцию для генерации списка из 100 000 целых чисел и списка из 100 000 чисел с плавающей запятой, чисел
должен находиться в диапазоне 0 - 99, эти списки будут входными параметрами для следующих функций.
(Спасибо!)

Офлайн

#2 Ноя. 5, 2017 18:34:00

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Подскажите как сделать это...

JZ911
Гуглил? Покажи какими запросами гуглил.



Офлайн

#3 Ноя. 5, 2017 18:59:58

someone_who_has_mind
Зарегистрирован: 2017-11-05
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите как сделать это...

 import random
def generate():
    ints = []
    ints_with_dot = []
    for c in range(0,100000):
        ints.append(random.randrange(0,99))
    for d in range(0,100000):
        while True:
            chislo = random.random()
            if chislo > 99 or chislo < 0: continue
            else: break
        chislo = float(chislo)
        ints_with_dot.append(chislo)
    return [ints, ints_with_dot]
a = generate()
print(a[1])
Проблема у меня возникла - random.random() выдает рандомные числа с плавающей точкой только меньше 1-ого (0.43523423543; 0.629939828)
А так все прекрасно работает - получился двумерный массив

Офлайн

#4 Ноя. 5, 2017 19:25:17

JZ911
Зарегистрирован: 2017-11-02
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите как сделать это...

вот думал чет по такому принципу http://www.geeksforgeeks.org/find-the-missing-number/

Офлайн

#5 Ноя. 5, 2017 22:11:03

JZ911
Зарегистрирован: 2017-11-02
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите как сделать это...

 import random
def generate():
    ints = []
    ints_with_dot = []
    for c in range(0,100000):
        ints.append(random.randrange(0,99))
    for d in range(0,100000):
        ints_with_dot.append(random.random() * 99)
    return [ints, ints_with_dot]
a = generate()
print(a[1])
а если так?

Отредактировано JZ911 (Ноя. 5, 2017 22:12:32)

Офлайн

#6 Ноя. 5, 2017 22:11:52

JZ911
Зарегистрирован: 2017-11-02
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите как сделать это...

 import random
def generate():
    ints = []
    ints_with_dot = []
    for c in range(0,100000):
        ints.append(random.randrange(0,99))
    for d in range(0,100000):
        ints_with_dot.append(random.random() * 99)
    return [ints, ints_with_dot]
a = generate()
print(a[1])

Офлайн

#7 Ноя. 5, 2017 22:49:57

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Подскажите как сделать это...

вот на фига тебе такой список в памяти?
на киберфорум посмотри

Офлайн

#8 Ноя. 6, 2017 11:49:55

JZ911
Зарегистрирован: 2017-11-02
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите как сделать это...

Спасибо!

Офлайн

#9 Ноя. 6, 2017 12:20:21

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

Подскажите как сделать это...

И все-таки! Создание массива из 100k элементов с помощью цикла в Python – это медленно.
В реальных задачах для этих целей следует использовать numpy.

 import numpy as np
# random integers
np.random.random_integers(0,99,100000)
# float numbers
np.random.uniform(0, 99, 100000)

Офлайн

#10 Ноя. 6, 2017 12:44:20

JZ911
Зарегистрирован: 2017-11-02
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите как сделать это...

Не могу понять как он работает?!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version