Вывести последовательность чисел в другом порядке
Вот задача:
Дана последовательность чисел. Вывести ее в след. порядке: первое число, последнее, второе, предпоследнее и так далее все числа (см. пример).
Программа получает на вход количество чисел N (количество чисел), в следующей строке сами числа через пробел.
Выведите числа в требуемом порядке через пробел.
Ввод
5
1 2 3 4 5
Ответ
1 5 2 4 3
4
1 2 3 4
Ответ
1 4 2 3
Я пытался решить задачу сам вот, что у меня получилось:
Сама программа:
N = int(input(‘N=’))
lst = list(map(int, input().split()))
print(lst)
lst1 = []
for i in range((N + 1) // 2):
lst1.append(lst[i])
lst1.append(lst[len(lst) — 1 — i])
print(lst1)
Вывод:
N=5
1 2 3 4 5
[1, 2, 3, 4, 5]
[1, 5, 2, 4, 3, 3]
Как видите у меня ошибка, может кто-то подсказать где она ?
Последовательность целых чисел
Дана последовательность целых чисел a1, a2, a3, . an, заканчивающаяся числом 0 (само число 0 в последовательность не входит, то есть ai≠0).
Требуется написать код который выведет на экран числа этой последовательности, которые были больше среднего арифметического.
Желательно все пояснить т.к. не особо разбираюсь в питоне, начало есть а дальше как сложить все эти числа и поделить на кол во уже тяжело, а как их сравнить отдельная история.
Лучшие ответы ( 2 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Есть N и последовательность N целых чисел. Найди среднее арифметическое чётных чисел
Есть N и последовательность N целых чисел. Найди среднее арифметическое чётных чисел. Если таких.
Дана последовательность целых чисел, 0 – конец последовательности. Определить сумму трех наибольших чисел
Дана последовательность целых чисел, 0 – конец последовательности. Определить сумму трех наибольших.
Дана последовательность целых чисел, 0 – конец последовательности. Определить сумму трех наибольших чисел
Дана последовательность целых чисел, 0 – конец последовательности. Определить сумму трех наибольших.

Последовательность целых чисел
В файле 17-9.txt содержится последовательность целых чисел. Элементы последовательности могут.
Последовательность положительных целых чисел
По каналу связи передается последовательность положительных целых чисел, все числа не превышают.
Цикл for в Python
Цикл в любом языке программирования — это многократное выполнение одного и то же действия. Цикл for проходится по данной последовательности элементов. Он состоит из двух компонент: переменной (переменных) цикла и итерируемой (перебираемой) последовательности. Приведу пример:
for i in ‘one’ , ‘two’ , ‘three’ :
print (i)
# one
# two
# three
Приведу еще несколько примеров:
for i in ‘1’ , ‘hello’ , 2 , 1990 , True, False:
print (i)
for j in ‘orange’ , ‘red’ , ‘purple’ :
print (j)
for k in ‘first’ , ‘last’ :
print (k)
Функция range()
Теперь пришло время познакомиться с встроенной в Python функцией range(). «range» переводится как «диапазон». Она может принимать один, два или три аргумента. Если задан только один, то генерируются числа от 0 до указанного числа, не включая его. Если заданы два, то числа генерируются от первого до второго, не включая его. Если заданы три, то третье число – это шаг. Рассмотрим случай с одним аргументом:
for number in range ( 5 ):
print (number)
for number in 0 , 1 , 2 , 3 , 4 :
print (number)
Напечатаются числа от 0 до 4. Это связано с тем, что функция range с одним аргументом генерирует диапазон от 0 до n-1, где n — это переданный аргумент.
Передадим в функцию два аргумента: 5 и 10. В этом случае range cгенерирует последовательность чисел от 5 до 9.
for el in range ( 5 , 10 , 2 ):
print (el)
Если передать в range три аргумента: 5, 10, 2, то мы получим последовательность от 5 до 10 с шагом в 2
for el in range ( 5 , 10 ):
print (el)
Перебор строк и функция len()
С помошью цикла for мы можем перебрать любую последовательность, например, строку:
for letter in ‘hello’ :
print (letter)
for l in ‘python’ :
print (l)
Любая последовательность имеет длину, это означает, что мы можем ее посчитать
Примеры решения задач
1. Посчитать сумму чисел от 0 до number
number = int ( input ())
summa = 0
for i in range (number +1 ):
# summa = summa + i
summa += i
print (summa)
2. Посчитать сумму четных чисел от 0 до number
number = int ( input ())
summa = 0
for i in range (number +1 ):
if i % 2 == 0 :
# summa = summa + i
summa += i
print (summa)
3. Посчитать произведение чисел от 1 до number
number = int ( input ())
multi = 1
for i in range ( 1 , number +1 ):
multi *= i
print (multi)
Решение задач
1. Вывести числа от 0 до 10.
2. Вывести числа от 0 до n, где n — это случайное число или число, введенное с клавиатуры
3. Вывести нечетные числа в диапазона от 0 до n (диапазон — это последовательность чисел от 0 до n)
4. Вывести четные числа из диапазона от 0 до n.
5. Вывести числа, делящиеся на три без остатка, в диапазоне от 0 до n.
6. Вывести числа, делящиеся на три или на семь без остатка, в диапазоне от 0 до n.
7. Найти сумму всех чисел от 1 до n.
7. Найти сумму четных чисел от 1 до n.
8. Даны два целых числа a и b a . Найти сумму всех целых чисел от a до b включительно.
9. Найти сумму чисел от 1 до n, делящихся на 3 .
10. Дано целое число n. Найти сумму 1 + 1/2 + 1/3 + . + 1/n
11. Дано целое число n. Найти сумму 1 + 2 + 4 + 8 + 16 + . + 2**n
где 2**n — это 2*2*2*. *2 раз. Таким образом, 2**4 = 2*2*2*2. Операция ** называется операцией возведения в степень.
12. Дано целое число n. Найти сумму: 1.1 + 1.2 + 1.3 + . + (1 + 0.1*n)
13. Дано целое число n. Найти значение выражения 1.1 − 1.2 + 1.3 − . (N слагаемых, знаки чередуются).
14. Дано целое число n. Найти квадрат данного числа, используя для его вычисления следующую формулу: n**2 = 1 + 3 + 5 + . + (2*N − 1) После добавления к сумме каждого слагаемого выводить текущее значение суммы
15. Дано вещественное число A и целое число N (> 0). Найти A в степени N: A**N = A * A * . * A (числа A перемножаются N раз). Операцию ** не использовать.
16. По данному натуральному n ≤ 30 выведите лесенку из n ступенек, i-я ступенька состоит из чисел от 1 до i без пробелов. Посмотрите статью про ввод и вывод данных.
17. Дано целое число n. Найти сумму 1**1 + 2**2 + . + n**n .
Функция range#
Функция range возвращает неизменяемую последовательность чисел в виде объекта range.
range(stop) range(start, stop[, step])
- start — с какого числа начинается последовательность. По умолчанию — 0
- stop — до какого числа продолжается последовательность чисел. Указанное число не включается в диапазон
- step — с каким шагом растут числа. По умолчанию 1
Функция range хранит только информацию о значениях start, stop и step и вычисляет значения по мере необходимости. Это значит, что независимо от размера диапазона, который описывает функция range, она всегда будет занимать фиксированный объем памяти.
Самый простой вариант range — передать только значение stop:
In [1]: range(5) Out[1]: range(0, 5) In [2]: list(range(5)) Out[2]: [0, 1, 2, 3, 4]
Если передаются два аргумента, то первый используется как start, а второй — как stop:
In [3]: list(range(1, 5)) Out[3]: [1, 2, 3, 4]
И чтобы указать шаг последовательности надо передать три аргумента:
In [4]: list(range(0, 10, 2)) Out[4]: [0, 2, 4, 6, 8] In [5]: list(range(0, 10, 3)) Out[5]: [0, 3, 6, 9]
С помощью range можно генерировать и убывающие последовательности чисел:
In [6]: list(range(10, 0, -1)) Out[6]: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] In [7]: list(range(5, -1, -1)) Out[7]: [5, 4, 3, 2, 1, 0]
Для получения убывающей последовательности надо использовать отрицательный шаг и соответственно указать start — большим числом, а stop — меньшим.
В убывающей последовательности шаг тоже может быть разным:
In [8]: list(range(10, 0, -2)) Out[8]: [10, 8, 6, 4, 2]
Функция поддерживает отрицательные значения start и stop:
In [9]: list(range(-10, 0, 1)) Out[9]: [-10, -9, -8, -7, -6, -5, -4, -3, -2, -1] In [10]: list(range(0, -10, -1)) Out[10]: [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
Объект range поддерживает все операции, которые поддерживают последовательности в Python, кроме сложения и умножения.
Проверка, входит ли число в диапазон, который описывает range:
In [11]: nums = range(5) In [12]: nums Out[12]: range(0, 5) In [13]: 3 in nums Out[13]: True In [14]: 7 in nums Out[14]: False
Начиная с версии Python 3.2, эта проверка выполняется за постоянное время (O(1)).
Можно получить конкретный элемент диапазона:
In [15]: nums = range(5) In [16]: nums[0] Out[16]: 0 In [17]: nums[-1] Out[17]: 4
Range поддерживает срезы:
In [18]: nums = range(5) In [19]: nums[1:] Out[19]: range(1, 5) In [20]: nums[:3] Out[20]: range(0, 3)
Можно получить длину диапазона:
In [21]: nums = range(5) In [22]: len(nums) Out[22]: 5
А также минимальный и максимальный элемент:
In [23]: nums = range(5) In [24]: min(nums) Out[24]: 0 In [25]: max(nums) Out[25]: 4
Кроме того, объект range поддерживает метод index:
In [26]: nums = range(1, 7) In [27]: nums.index(3) Out[27]: 2