Найти - Пользователи
Полная версия: Случайные числа.
Начало » Python для новичков » Случайные числа.
1
Vitek64
Добрый день.
Подскажите пожалуйста как это сделать.
Имеется два числа. Например: 2 и 100
Я хочу чтобы фнкция создала рандомный список из чисел в диапозоне от 2 до 100, но чтобы эти числа были только по возрастанию(т.е. Аn > An-1) и чтобы их было сколько угодно.
Т.е. я хочу получить что-то вроде:
2, 45, 60, 100
а в другом случае так:
2, 4, 6, 20, 30, 65, 89, 99 и т.п.

Или так, что пользователь вводит число 100 и получает такой рандомный список чисел.
xam1816
 import random
res = sorted(random.sample(range(2, 100), 8))
print(res)
Vitek64
xam1816
Спасибо большое! Это почти то что я хочу получить.
Но только я хотел бы чтобы при каждом вызове функции таких чисел было не строгое число(как в примере, 8) а случайное в этом диапазоне. Так можно сделать?
Т.е. например:
2, 6, 55, 35, 87, 98
2, 70, 56
2, 4, 5, 7, 10, 55, 76, 81, 85, 90, 96
И т.п.
xam1816
 import random
res = sorted(random.sample(range(2, 100), random.randint(5,50)))
print(res)
Vitek64
xam1816
Спасибо.
А можно как-то сделать увеличивающейся шаг?
Чтобы числа записались с шагом n, n+1, n+2 и т.д.

Т.е. числа с 2 до 100 были так:
2,3,5,8,12,17,23…100
Vitek64
Vitek64
Почитал про все методы random и так понял, что это не получится осуществить.. может можно осуществить такой шаг как-то при помощи for? Не могу найти такого решения.
xam1816
  
def gen(start, stop):
    n = -1
    while 1:
        n += 1
        start += n
        if start > stop:
            break
        yield start
 
print([i for i in gen(2, 100)])
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB