Скажем, если у вас был номер ввода 8
в python, и вы хотели создать список последовательных номеров до 8
, например
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Как вы могли это сделать?
Скажем, если у вас был номер ввода 8
в python, и вы хотели создать список последовательных номеров до 8
, например
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Как вы могли это сделать?
В 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
. Вы можете больше узнать об этом в этом ответе.
Использование встроенной функции 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]
Просто, чтобы дать вам еще один пример, хотя диапазон (значение), безусловно, лучший способ сделать это, это может помочь вам позже что-то еще.
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]
В зависимости от того, как вы хотите получить результат, вы также можете печатать каждое число в цикле 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.