Подтвердить что ты не робот

Как я могу сгенерировать список последовательных чисел?

Скажем, если у вас был номер ввода 8 в python, и вы хотели создать список последовательных номеров до 8, например

[0, 1, 2, 3, 4, 5, 6, 7, 8]

Как вы могли это сделать?

4b9b3361

Ответ 1

В Python 3 вы можете использовать встроенную функцию range, подобную этой

>>> list(range(9))
[0, 1, 2, 3, 4, 5, 6, 7, 8]

Примечание 1: Функция Python 3.x range возвращает объект range. Если вам нужен список, который нужно явно преобразовать в список, с помощью функции list, как показано в ответе.

Примечание 2: Мы передаем число от 9 до range, потому что функция range будет генерировать числа до заданного числа, но не включая номер. Итак, мы даем фактическое число + 1.

Примечание 3: В Python 2 и 3. существует небольшая разница в функциональности range. Вы можете больше узнать об этом в этом ответе.

Ответ 2

Использование встроенной функции Python:

Python 2

input = 8
output = range(input + 1)

print output
[0, 1, 2, 3, 4, 5, 6, 7, 8]

Python 3

input = 8
output = list(range(input + 1))

print(output)
[0, 1, 2, 3, 4, 5, 6, 7, 8]

Ответ 3

Просто, чтобы дать вам еще один пример, хотя диапазон (значение), безусловно, лучший способ сделать это, это может помочь вам позже что-то еще.

list = []
calc = 0

while int(calc) < 9:
    list.append(calc)
    calc = int(calc) + 1

print list
[0, 1, 2, 3, 4, 5, 6, 7, 8]

Ответ 4

В зависимости от того, как вы хотите получить результат, вы также можете печатать каждое число в цикле for:

def numbers():
    for i in range(int(input('How far do you wanna go? '))+1):
        print(i)

Итак, если пользовательский ввод был 7, например:

How far do you wanna go? 7
0
1
2
3
4
5
6
7

Вы также можете удалить "+1" в цикле for и поместить его в оператор печати, который изменит его на 1 вместо 0.