genrobaksel / 00_distance.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 |
# -*- coding: utf-8 -*- |
# Есть словарь координат городов |
sites = |
‘Moscow’ : ( 550 , 370 ), |
‘London’ : ( 510 , 510 ), |
‘Paris’ : ( 480 , 480 ), |
> |
# Составим словарь словарей расстояний между ними |
# расстояние на координатной сетке — корень из (x1 — x2) ** 2 + (y1 — y2) ** 2 |
distances = dict () |
m = sites [ ‘Moscow’ ] |
l = sites [ ‘London’ ] |
p = sites [ ‘Paris’ ] |
Moscow_London_distance = (( m [ 0 ] — l [ 0 ]) ** 2 + ( m [ 1 ] — l [ 1 ]) ** 2 ) ** .5 |
Moscow_Paris_distance = (( m [ 0 ] — p [ 0 ]) ** 2 + ( m [ 1 ] — p [ 1 ]) ** 2 ) ** .5 |
London_Moscow_distance = (( m [ 0 ] — l [ 0 ]) ** 2 + ( m [ 1 ] — l [ 1 ]) ** 2 ) ** .5 |
London_Paris_distance = (( l [ 0 ] — p [ 0 ]) ** 2 + ( l [ 1 ] — p [ 1 ]) ** 2 ) ** .5 |
Paris_Moscow_distance = (( m [ 0 ] — p [ 0 ]) ** 2 + ( m [ 1 ] — p [ 1 ]) ** 2 ) ** .5 |
Paris_London_distance = (( l [ 0 ] — p [ 0 ]) ** 2 + ( l [ 1 ] — p [ 1 ]) ** 2 ) ** 0.5 |
distances [ ‘Moscow’ ] = <> |
distances [ ‘Moscow’ ][ ‘London’ ] = Moscow_London_distance |
distances [ ‘Moscow’ ][ ‘Paris’ ] = Moscow_Paris_distance |
distances [ ‘London’ ] = <> |
distances [ ‘London’ ][ ‘Moscow’ ] = London_Moscow_distance |
distances [ ‘London’ ][ ‘Paris’ ] = London_Paris_distance |
distances [ ‘Paris’ ] = <> |
distances [ ‘Paris’ ][ ‘Moscow’ ] = Paris_Moscow_distance |
distances [ ‘Paris’ ][ ‘London’ ] = Paris_London_distance |
print ( distances ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 |
# -*- coding: utf-8 -*- |
# Есть значение радиуса круга |
radius = 42 |
# Выведите на консоль значение прощади этого круга с точностю до 4-х знаков после запятой |
# подсказки: |
# формулу можно подсмотреть в интернете, |
# пи возьмите равным 3.1415926 |
# точность указывается в функции round() |
Pi = 3.1415926 |
r = 42 |
s = Pi * r ** 2 |
print ( ‘s= ‘ , s ) |
# Далее, пусть есть координаты точки |
point = ( 23 , 34 ) |
# где 23 — координата х, 34 — координата у |
# Если точка point лежит внутри того самого круга (radius = 42), то выведите на консоль True, |
# Или False, если точка лежит вовне круга. |
# подсказки: |
# нужно определить расстояние от этой точки до начала координат (0, 0) |
# формула так же есть в интернете |
# квадратный корень — это возведение в степень 0.5 |
# операции сравнения дают булевы константы True и False |
# TODO здесь ваш код |
# Аналогично для другой точки |
point_2 = ( 30 , 30 ) |
# Если точка point_2 лежит внутри круга (radius = 42), то выведите на консоль True, |
# Или False, если точка лежит вовне круга. |
# TODO здесь ваш код |
# Пример вывода на консоль: |
# |
# 77777.7777 |
# False |
# False |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- |
# Расставьте знаки операций «плюс», «минус», «умножение» и скобки |
# между числами «1 2 3 4 5» так, что бы получилось число «25». |
# |
# Использовать нужно только указанные знаки операций, но не обязательно все перечесленные. |
# Порядок чисел нужно сохранить. |
# Пример для чисел «1 2 3» и «9» |
res = ( 2 * 3 ) + ( 4 * 5 ) — 1 |
print ( ‘res = ‘ , res ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 |
# -*- coding: utf-8 -*- |
# Есть строка с перечислением фильмов |
my_favorite_movies = ‘Терминатор, Пятый элемент, Аватар, Чужие, Назад в будущее’ |
# Выведите на консоль с помощью индексации строки, последовательно: |
# первый фильм |
# последний |
# второй |
# второй с конца |
# Переопределять my_favorite_movies и использовать .split() нельзя. |
# Запятая не должна выводиться. |
num1 = my_favorite_movies [ 0 : 10 ] |
num_end = my_favorite_movies [ 42 : 57 ] |
num2 = my_favorite_movies [ 12 : 25 ] |
num4 = my_favorite_movies [ 35 : 40 ] |
print ( num1 , num_end , num2 , num4 ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 |
# -*- coding: utf-8 -*- |
# Создайте списки: |
# моя семья (минимум 3 элемента, есть еще дедушки и бабушки, если что) |
my_family = [] |
# список списков приблизителного роста членов вашей семьи |
my_family_height = [ |
# [‘имя’, рост], |
[], |
] |
# Выведите на консоль рост отца в формате |
# Рост отца — ХХ см |
# Выведите на консоль общий рост вашей семьи как сумму ростов всех членов |
# Общий рост моей семьи — ХХ см |
my_family = [[ ‘I_am’ , 195 ], [ ‘My_wife’ , 175 ], [ ‘My_sun’ , 170 ]] |
summa = my_family [ 0 ][ 1 ] + my_family [ 1 ][ 1 ] + my_family [ 2 ][ 1 ] |
print ( ‘Рост моей супруги: ‘ , my_family [ 1 ][ 1 ], ‘ см’ ) |
print ( ‘Суммарный рост моей семьи = ‘ , summa , ‘ см’ ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
#!/usr/bin/env python |
# -*- coding: utf-8 -*- |
# есть список животных в зоопарке |
zoo = [ ‘lion’ , ‘kangaroo’ , ‘elephant’ , ‘monkey’ , ] |
# посадите медведя (bear) между львом и кенгуру |
# и выведите список на консоль |
zoo . insert ( 1 , ‘beer’ ) |
print ( zoo ) |
# добавьте птиц из списка birds в последние клетки зоопарка |
birds = [ ‘rooster’ , ‘ostrich’ , ‘lark’ , ] |
# и выведите список на консоль |
zoo . extend ( birds ) |
print ( zoo ) |
# уберите слона |
# и выведите список на консоль |
# TODO здесь ваш код |
# выведите на консоль в какой клетке сидит лев (lion) и жаворонок (lark). |
# Номера при выводе должны быть понятны простому человеку, не программисту. |
# TODO здесь ваш код |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 |
# -*- coding: utf-8 -*- |
# Есть список песен группы Depeche Mode со временем звучания с точносттю до долей минут |
violator_songs_list = [ |
[ ‘World in My Eyes’ , 4.86 ], |
[ ‘Sweetest Perfection’ , 4.43 ], |
[ ‘Personal Jesus’ , 4.56 ], |
[ ‘Halo’ , 4.9 ], |
[ ‘Waiting for the Night’ , 6.07 ], |
[ ‘Enjoy the Silence’ , 4.20 ], |
[ ‘Policy of Truth’ , 4.76 ], |
[ ‘Blue Dress’ , 4.29 ], |
[ ‘Clean’ , 5.83 ], |
] |
# распечатайте общее время звучания трех песен: ‘Halo’, ‘Enjoy the Silence’ и ‘Clean’ в формате |
# Три песни звучат ХХХ минут |
# Обратите внимание, что делать много вычислений внутри print() — плохой стиль. |
# Лучше заранее вычислить необходимое, а затем в print(xxx, yyy, zzz) |
a = violator_songs_list [ 3 ][ 1 ] |
b = violator_songs_list [ 5 ][ 1 ] |
c = violator_songs_list [ 8 ][ 1 ] |
summa_song = a + b + c |
print ( a , b , c , » Сумма звучания = » , summa_song ) |
# Есть словарь песен группы Depeche Mode |
violator_songs_dict = |
‘World in My Eyes’ : 4.76 , |
‘Sweetest Perfection’ : 4.43 , |
‘Personal Jesus’ : 4.56 , |
‘Halo’ : 4.30 , |
‘Waiting for the Night’ : 6.07 , |
‘Enjoy the Silence’ : 4.6 , |
‘Policy of Truth’ : 4.88 , |
‘Blue Dress’ : 4.18 , |
‘Clean’ : 5.68 , |
> |
# распечатайте общее время звучания трех песен: ‘Sweetest Perfection’, ‘Policy of Truth’ и ‘Blue Dress’ |
# А другие три песни звучат ХХХ минут |
d = violator_songs_dict [ ‘Sweetest Perfection’ ] |
e = violator_songs_dict [ ‘Policy of Truth’ ] |
m = violator_songs_dict [ ‘Blue Dress’ ] |
Summa_d = d + e + m |
print ( ‘ А другие три песни звучат ‘ , Summa_d , ‘ минут’ ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 |
# -*- coding: utf-8 -*- |
# есть зашифрованное сообщение |
secret_message = [ |
‘квевтфпп6щ3стмзалтнмаршгб5длгуча’ , |
‘дьсеы6лц2бане4т64ь4б3ущея6втщл6б’ , |
‘т3пплвце1н3и2кд4лы12чф1ап3бкычаь’ , |
‘ьд5фму3ежородт9г686буиимыкучшсал’ , |
‘бсц59мегщ2лятьаьгенедыв9фк9ехб1а’ , |
] |
# ключ к расшифровке: |
# первое слово — 4-я буква |
# второе слово — буквы с 10 по 13, включительно |
# третье слово — буквы с 6 по 15, включительно, через одну |
# четвертое слово — буквы с 8 по 13, включительно, в обратном порядке |
# пятое слово — буквы с 17 по 21, включительно, в обратном порядке |
# |
# Требуется задать конкретные индексы, например secret_message[3][12:23:4] |
# Если нужны вычисления и разные пробы — делайте это в консоли пайтона, тут нужен только результат |
a = secret_message [ 0 ][ 3 ] |
b = secret_message [ 1 ][ 9 : 13 ] |
c = secret_message [ 2 ][ 5 : 15 : 2 ] |
d = secret_message [ 3 ][ 12 : 6 : — 1 ] |
e = secret_message [ 4 ][ 20 : 15 : — 1 ] |
print ( a , b , c , d , e ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
#!/usr/bin/env python |
# -*- coding: utf-8 -*- |
# в саду сорвали цветы |
garden = ( ‘ромашка’ , ‘роза’ , ‘одуванчик’ , ‘ромашка’ , ‘гладиолус’ , ‘подсолнух’ , ‘роза’ , ) |
# на лугу сорвали цветы |
meadow = ( ‘клевер’ , ‘одуванчик’ , ‘ромашка’ , ‘клевер’ , ‘мак’ , ‘одуванчик’ , ‘ромашка’ , ) |
# создайте множество цветов, произрастающих в саду и на лугу |
# garden_set = |
# meadow_set = |
garden_set = set ( garden ) |
meadow_set = set ( meadow ) |
sett = garden_set | meadow_set |
# выведите на консоль все виды цветов |
print ( sett ) |
# выведите на консоль те, которые растут и там и там |
mett = garden_set & meadow_set |
print ( mett ) |
# выведите на консоль те, которые растут в саду, но не растут на лугу |
dett = garden_set — meadow_set |
print ( dett ) |
# выведите на консоль те, которые растут на лугу, но не растут в саду |
# TODO здесь ваш код |