Форум сайта python.su
0
Здравствуйте. Вот начал учить Python и уже изучаю массивы. И тут как раз дана задача: Дан одномерный массив числовых значений, насчитывающий N элементов.
Поменять местами элементы, стоящие на чётных и нечётных местах A ↔
A; A ↔ A . . . Организовать массив вроде как получилось
n=int(input(“введите количество элеентов в массиве ”))
massiv=
for i in range(0,n):
a=input()
massiv.append(a)
print(massiv)
А вот как дальше делать не могу понять. Помогите разобраться, пожалуйста
Офлайн
7
Во-первых, код заворачивайте в теги “код”.
Во-вторых, тут надо по сути переприсвоить значения соседних элементов, если я правильно понял.
A[i], A[i+1] = A[i+1], A[i]
Офлайн
19
Синтаксис для slice такой
[start:end:step]
l = [1,2,3,4,5,6,7,8] l_odd = l[::2] l_even = l[1::2] print l_odd print l_even l[::2], l[1::2] = l[1::2], l[::2] print l
Отредактировано PanovSergey (Фев. 4, 2014 18:26:44)
Офлайн
857
PanovSergey
Синтаксис для slice такой
>>> lst = [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> >>> lst[::2], lst[1::2] = lst[1::2], lst[::2] Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: attempt to assign sequence of size 4 to extended slice of size 5 >>>
Офлайн
19
Блин вы же взрослый человек.
Чем поможет топикстартеру, если сейчас все через itertools написать? Понятно что на нечетных работать в лоб не будет. дайте человеку хоть чутка подумать.
Отредактировано PanovSergey (Фев. 4, 2014 21:32:03)
Офлайн
2
py.user.next ну так можно еще на стадии ввода проверить
while True: n = int(input()) n = n % 2 if n==0: break else: print('введите четное число элементов')
Офлайн
186
s=range(10); s2=[] map(lambda (x,y): (s2.append(x),s2.append(y)),zip(s[1::2],s[::2])) print s2
Отредактировано Rodegast (Фев. 8, 2014 01:41:37)
Офлайн
857
bs0dминимум должен быть таким, чтобы работало и для чётного количества, и для нечётного
py.user.next ну так можно еще на стадии ввода проверить
Отредактировано py.user.next (Фев. 8, 2014 23:38:32)
Офлайн
0
Всем привет. Спасибо за ваши советы От Души Прям!!! Вот мой вариант на основе ваших предложений и он вроде как работает!
input())Офлайн
0
Хрень получилась. Как вы выводите так красиво сообщения на форуме?
Офлайн