Найти - Пользователи
Полная версия: Помогите написать 2 задачи!!! Умоляю!!!
Начало » Python для экспертов » Помогите написать 2 задачи!!! Умоляю!!!
1 2
Kengyry
Люди!
Помогите написать 2 маленькие и простенькие задачки!!!

Циклические сдвиги, когда в первом случае список превращается в , а в другом превращается (как видно, элементы в одной задаче сдвигаются на 1 позицию вправо, в другой - влево)

Важные условия:

НЕ ИСПОЛЬЗОВАТЬ APPEND
НЕ ИСПОЛЬЗОВАТЬ DEL
НЕ ИСПОЛЬЗОВАТЬ FOR
ОБЯЗАТЕЛЬНО НАПИСАТЬ С ПОМОЩЬЮ WHILE
alafin
#2

a=
i=0
t=a
while i<len(a)-1:
a=a
i+=1
a=t

Результат:
slivlen
А вот альтернативный вариант :)

a =
a = a + [a]
while False:
pass
print a
alafin
#1

a=
i=len(a)-1
t=a
while i>0:
a=a
i-=1
a=t

Результат:

P.S. Хочеться увидеть альтернативный вариант и этой задачи ;)
slivlen
alafin
P.S. Хочеться увидеть альтернативный вариант и этой задачи wink
Желание администратора - закон :)

a =
a = [a] + a
while False:
pass
print a
alafin
Ну вот, теперь думаю, препод должен ставить автоматом за решение задач в двух вариантах :)
slav0nic
slivlen while False: pass не осилил)) наверно алафина варианты больше подойдут препаду
slav0nic


def left_move(a, n):
“”“
a - список
n - на сколько сдвигать
”“”

while n:
a = a + [a]
n -= 1
return a


def right_move(a, n):
while n:
a = [a] + a
n -= 1
return a


a =
print a
print “<< 2”, left_move(a, 2)
print “>> 2”, right_move(a, 3)



> /usr/bin/python -u “/tmp/1.py”

<< 2
>> 2
имхо так покрасивше В)
сдвигается по 1 элементу за цикл
Kengyry
Спасибо! Всем! Не дайте студентке засохнуть!
Как превратить список в ??? Условия те же, что и в первом моем посте.
Striver
В Питоне это одним методом .reverse делается:

a=
a.reverse()
print a

Можно, конечно, ещё while False: pass добавить. Но, наверное, твоему преподу что-то поизвращённее надо? Ну, можно извращаться так:

a=
la=len(a)
n=la/2-1
while n>=0:
a,a=a,a
n-=1
print a
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