From 75a1d047eca4a592c023fde6f9bd2a8e9cfc1653 Mon Sep 17 00:00:00 2001 From: SergFors <22may1999@ukr.net> Date: Thu, 1 Dec 2016 23:20:00 +0200 Subject: [PATCH] Homework_6 6. list --- students/km63/Horodnyuk_Serhij/homework_6.py | 293 +++++++++++++++++++ 1 file changed, 293 insertions(+) create mode 100644 students/km63/Horodnyuk_Serhij/homework_6.py diff --git a/students/km63/Horodnyuk_Serhij/homework_6.py b/students/km63/Horodnyuk_Serhij/homework_6.py new file mode 100644 index 0000000..edf3fb1 --- /dev/null +++ b/students/km63/Horodnyuk_Serhij/homework_6.py @@ -0,0 +1,293 @@ +#task1---------------------------------------------------------- +''' +Выведите все элементы списка с четными индексами (то есть A[0], +A[2], A[4], ..). +''' + +s = input().split(' ') +for i in range(0,len(s),2): + print(s[i]) + +#--------------------------------------------------------------- + + +#task2---------------------------------------------------------- +''' +Выведите все четные элементы списка. При этом используйте цикл +for, перебирающий элементы списка, а не их индексы! +''' + +a = [int(i) for i in input().split()] +for element in a: + if element % 2 == 0: + print(element) + +#--------------------------------------------------------------- + + +#task3--------------------------------------------------------- +''' +Дан список чисел. Выведите все элементы списка, которые больше +предыдущего элемента. +''' + +a=[int(i) for i in input().split()] +for i in range(1,len(a)): + if a[i]>a[i-1]: + print(a[i]) + +#--------------------------------------------------------------- + + +#task4--------------------------------------------------------- +''' +Дан список чисел. Если в нем есть два соседних элемента одн +ого знака, выведите эти числа. Если соседних элементов одного +знака нет — не выводите ничего. Если таких пар соседей несколь +ко — выведите первую пару. +''' + +a=[int(i) for i in input().split()] +for i in range(1,len(a)): + if a[i-1]*a[i]>0: + print(a[i-1],a[i]) + break + +#--------------------------------------------------------------- + + +#task5---------------------------------------------------------- +''' +Дан список чисел. Определите, сколько в этом списке элементов, +которые больше двух своих соседей, и выведите количество таких +элементов. Крайние элементы списка никогда не учитываются, +поскольку у них недостаточно соседей. +''' + +index=0 +a=[int(i) for i in input().split()] +for i in range(1, len(a)): + if a[i]>a[index]: + index=i +print(a[index],index) + +#--------------------------------------------------------------- + + +#task6--------------------------------------------------------- +''' +Дан список чисел. Выведите значение наибольшего элемента в списке, +а затем индекс этого элемента в списке. Если наибольших элементов +несколько, выведите индекс первого из них. +''' + +s=input().split(' ') +max=int(s[0]) +index=0 +for i in range(1,len(s)): + if max=x: + stance+=1 +print(stance+1) + +#--------------------------------------------------------------- + + +#task8---------------------------------------------------------- +''' +Дан список, упорядоченный по неубыванию элементов в нем. +Определите, сколько в нем различных элементов. +''' + +a=[int(i) for i in input().split()] +num=1 +for i in range(0,len(a)-1): + if a[i]!=a[i+1]: + num+=1 +print(num) + +#--------------------------------------------------------------- + + +#task9---------------------------------------------------------- +''' +Переставьте соседние элементы списка (A[0] c A[1], A[2] c A[3] +и т. д.). Если элементов нечетное число, то последний элемент +остается на своем месте. +''' + +a=[int(i) for i in input().split() +for i in range(1,len(a),2): + a[i-1],a[i]=a[i],a[i-1] +print(''.join([str(i) for i in a])) + +#--------------------------------------------------------------- + + +#task10--------------------------------------------------------- +''' +В списке все элементы различны. Поменяйте местами минимальный +и максимальный элемент этого списка. +''' + +s=[int(i) for i in input().split()] +max=s.index(max(s)) +min=s.index(min(s)) +s[max],s[min]=s[min],s[max] +for i in range(len(s)): + print(s[i],end=' ') + +#--------------------------------------------------------------- + + +#task11--------------------------------------------------------- +''' +Дан список из чисел и индекс элемента в списке k. Удалите из +списка элемент с индексом k, сдвинув влево все элементы, стоящие +правее элемента с индексом k. Программа получает на вход список, +затем число k. Программа сдвигает все элементы, а после этого +удаляет последний элемент списка при помощи метода pop() без +параметров. Программа должна осуществлять сдвиг непосредственно +в списке, а не делать это при выводе элементов. Также нельзя +использовать дополнительный список. Также не следует +использовать метод pop(k) с параметром. +''' + +a=[int(i) for i in input().split()] +k=int(input()) +a.pop(k) +print(' '.join([str(i) for i in a])) + +#--------------------------------------------------------------- + + +#task12--------------------------------------------------------- +''' +Дан список целых чисел, число k и значение C. Необходимо +вставить в список на позицию с индексом k элемент, равный C, +сдвинув все элементы, имевшие индекс не менее k, вправо. +Посколько при этом количество элементов в списке увеличивается, +после считывания списка в его конец нужно будет добавить новый +элемент, используя метод append. Вставку необходимо осуществлять +уже в считанном списке, не делая этого при выводе и не создавая +дополнительного списка. +''' + +a=[int(s) for s in input().split()] +b=[int(s) for s in input().split()] +a.append(0) +for i in range(len(a)-1,b[0],-1): + a[i]=a[i-1] +a[b[0]]=b[1] +print(' '.join([str(i) for i in a])) + +#--------------------------------------------------------------- + + +#task13--------------------------------------------------------- +''' +Дан список чисел. Посчитайте, сколько в нем пар элементов, +равных друг другу. Считается, что любые два элемента, равные +друг другу образуют одну пару, которую необходимо посчитать. +''' + +a = [int(i) for i in input().split()] +k = 0 +for i in range(len(a)-1): + for j in range(i+1,len(a)): + if a[i] == a[j]: + k +=1 +print(k) + +#--------------------------------------------------------------- + + +#task14--------------------------------------------------------- +''' +Дан список. Выведите те его элементы, которые встречаются в +списке только один раз. Элементы нужно выводить в том порядке, +в котором они встречаются в списке. +''' + +x=[int(i) for i in input().split()] +for i in x: + if x.count(i)==1 + print(i,end=' ') + +#--------------------------------------------------------------- + + +#task15-------------------------------------------------------- +''' +N кеглей выставили в один ряд, занумеровав их слева направо +числами от 1 до N. Затем по этому ряду бросили K шаров, при +этом i-й шар сбил все кегли с номерами от li до ri включительно. +Определите, какие кегли остались стоять на месте. +Программа получает на вход количество кеглей N и количество +бросков K. Далее идет K пар чисел li, ri, при этом 1? li? ri? N. + +Программа должна вывести последовательность из N символов, +где j-й символ есть “I”, если j-я кегля осталась стоять, или +“.”, если j-я кегля была сбита. +''' + +N,K=[int(x) for x in input().split()] +M=['I']*n +for i in range(k): + i,r=[int(x) for x in input().split()] + M[i-1:r]=['.']*(r-i+1) +print(''.join(M)) + +#--------------------------------------------------------------- + + +#task16--------------------------------------------------------- +''' +Известно, что на доске 8?8 можно расставить 8 ферзей так, чтобы +они не били друг друга. Вам дана расстановка 8 ферзей на доске, +определите, есть ли среди них пара бьющих друг друга. +Программа получает на вход восемь пар чисел, каждое число от 1 +до 8 — координаты 8 ферзей. Если ферзи не бьют друг друга, +выведите слово NO, иначе выведите YES. +''' + +f=1 +a=[0]*8 +b=[0]*8 +for i in range(8): + a[i],b[i]=[int(s) for s in input().split()] +for i in range(8): + for j in range(i+1,8): + if (a[i]==a[j]) or (b[i]==b[j]) or (abs(a[i]-a[j])==abs(b[i]-b[j])): + f=0 +if f==1: + print('NO') +else: + print('YES') + +#--------------------------------------------------------------