4712
Вивчення основ структурного програмування мовою Python
Лабораторная работа
Информатика, кибернетика и программирование
Мета робота Вивчення основ програмування на мові Python. Вивчення основ структурного програмування мовою Python. Повторення та закріплення знань отриманих при виконанні попередніх лабораторних робіт. Покращення загальних нав...
Украинкский
2012-11-25
72 KB
22 чел.
Мета робота
Присвоювання найпростіше поняття програмування, але навіть і йому властиві певні тонкощі.
За допомогою операції присвоєння відбувається копіювання значення виразу іншій змінній, хоча насправді, значення структурованого обєкту, наприклад такого, як список, це є посилання на цей обєкт. В наступному прикладі (рядок програми #1) відбувається присвоєння посилання на значення змінної foo новій змінній bar. Якщо відбуваються зміни в foo (рядок програми #2) то ці зміни також торкаються і bar.
Python підтримує два способи порівняння. Оператор is перевіряє обєкти на ідентичність. Створивши список з декількох копій одного і того самого обєкту не складно переконатися, що елементи цього списку не тільки ідентичні, згідно ==, але і є одним і тим самим обєктом.
Серед послідовностей, в попередніх прикладах, використовувалися наступні: стрічки, списки та кортежі. Змінна, тип якої кортеж, створюється за допомогою ком (#1) і переважно обмежується дужками. В попередніх лабораторних роботах кортежі використовувалися для представлення пар значень (елементів послідовності з двох членів). Зазвичай, кортежі можуть містити будь-яку кількість елементів та членів.
Кортежі створюються за допомогою ком (оператор - кома). Для створення кортежу, який містить єдиний елемент 'snark' , кома ставиться безпосередньо після цього елементу 'snark',. Пустий кортеж створюється за допомогою пустих дужок (t=()).
Способи ітерування елементів послідовностей Таблиця 1:
Вираз Python |
Пояснення |
for item in s |
Проітерувати елементи s |
for item in sorted(s) |
Проітерувати впорядковані елементи s |
for item in set(s) |
Проітерувати унікальні елементи s |
for item in reversed(s) |
Проітерувати зворотньо впорядковані елементи s |
for item in set(s).difference(t) |
Проітерувати елементи s, які не входять в t |
for item in random.shuffle(s) |
Проітерувати випадково впорядковані елементи s |
Індивідуальне завдання варіант 9:
class str(basestring)
| str(object) -> string
| Return a nice string representation of the object.
| If the argument is a string, the return value is the same object.
| Method resolution order:
| str
| basestring
| object
| Methods defined here:
| __add__(...)
| x.__add__(y) <==> x+y
class list(object)
| list() -> new empty list
| list(iterable) -> new list initialized from iterable's items
| Methods defined here:
| __add__(...)
| x.__add__(y) <==> x+y
class tuple(object)
| tuple() -> empty tuple
| tuple(iterable) -> tuple initialized from iterable's items
|
| If the argument is a tuple, the return value is the same object.
|
| Methods defined here:
|
| __add__(...)
| x.__add__(y) <==> x+y
Спільні:
| __add__(...)
| x.__add__(y) <==> x+y
| __contains__(...)
| x.__contains__(y) <==> y in x
| __eq__(...)
| x.__eq__(y) <==> x==y
Не можна з кортежами:
| __imul__(...)
| x.__imul__(y) <==> x*=y
| __delitem__(...)
| x.__delitem__(y) <==> del x[y]
| __iadd__(...)
| x.__iadd__(y) <==> x+=y
>>> words = ['I']
>>> tags = ['noun']
>>> zip(words, tags)
[('I', 'noun')]
>>> list(enumerate(words))
[(0, 'I')]
>>> pair = (6, 'turned')
>>> pair
(6, 'turned')
Список:
>>> words = ['is', 'NLP', 'fun', '?']
>>> tmp = words[0]
>>> words[0] = words[1]
>>> words[1] = tmp
>>> words[3] = '!'
>>> words
['NLP', 'is', 'fun', '!']
Кортежах:
>>> words = [(1,'is'),(2,'NLP'),(3,'fun'),(4,'?')]
>>> tmp = words[0]
>>> words[0] = words[1]
>>> words[1] = tmp
>>> words[3] = '!'
>>> words
[(2, 'NLP'), (1, 'is'), (3, 'fun'), '!']
cmp(...)
cmp(x, y) -> integer
Return negative if x<y, zero if x==y, positive if x>y.
>>> x = 1
>>> y = 2
>>> cmp(x, y)
-1
>>> x = 0.5
>>> cmp(x, y)
-1
>>> x = "hello"
>>> y = "HELL"
>>> cmp(x,y)
1
>>> sent = ['The', 'world', 'got', 'lost', 'in', 'snow']
>>> n = 3
>>> [sent[i:i+n] for i in range(len(sent)-n+1)]
[['The', 'world', 'got'], ['world', 'got', 'lost'], ['got', 'lost', 'in'], ['lost', 'in', 'snow']]
>>> 'Monty' < 'Python'
True
>>> 'Z' < 'a'
True
>>> 'Monty' < 'Montague'
False
>>> ('Monty', 1) < ('Monty', 2)
True
>>> cmp('Z','a')
-1
>>> cmp('Monty','Montague')
1
>>> cmp(('Monty', 1),('Monty', 2))
-1
>>> text = " Hello how are you? "
>>> def clean_spaces(text):
"""Deletes the first and the last space in text and double space into one space."""
tmp = text.split();
tmp = ' '.join(tmp);
return tmp
>>> clean_spaces(text)
'Hello how are you?'
>>> help(clean_spaces)
Help on function clean_spaces in module __main__:
clean_spaces(text)
Deletes the first and the last space in text and double space into one space.
>>> import re
>>> text = " Hello how are you? "
>>> def clean_spaces(text):
"""Deletes the first and the last space in text and double space into one space."""
tmp = re.sub("^\s+","",text);
tmp = re.sub("\s+$","",tmp);
tmp = re.sub("\s{2}"," ",tmp);
return tmp
>>> clean_spaces(text)
'Hello how are you?'
>>> def cmp_len(word1,word2):
"""Find out which one is longer."""
return cmp(len(word1),len(word2));
>>> def sort_by_len(input_list):
"""Sort list by length."""
while cmp_len(input_list[0],input_list[1])==-1:
for i in range(len(input_list)-1):
if cmp_len(input_list[i],input_list[i+1])==-1: tmp = input_list[i]; input_list[i]=input_list[i+1];input_list[i+1]=tmp;
elif cmp_len(input_list[i],input_list[i+1])==1: tmp = input_list[i]; input_list[i]=input_list[i+1];input_list[i+1]=tmp;
>>> listout = ['ds','aaa','dddd','dsc']
>>> sort_by_len(listout)
>>> listout
['dddd', 'aaa', 'dsc', 'ds']
Висновок:
В даній лабораторній роботі я дізнався: яким чином писати гарно структуровані, чіткі, сприйнятливі (читабельні) програми, придатні для неодноразового використання, яким чином працюють основні конструкційні блоки, а саме: цикл, функція, присвоювання, які можуть бути пастки при програмуванні на Python та як їх уникати.
А также другие работы, которые могут Вас заинтересовать | |||
61541. | Сложение и вычитание в пределах 100 | 698.18 KB | |
Закрепление изученного материала Дидактическая цель Закреплять вычислительные навыки сложения и вычитания в пределах 100 Задачи Совершенствовать умения решать задачи. Развивать вычислительные навыки, умение рассуждать | |||
61542. | Свойства диагоналей прямоугольника | 314.11 KB | |
Разрежьте прямоугольник по диагонали. Теперь возьмите зеленый прямоугольник и проведите диагональ из верхнего левого угла в нижний правый и разрежьте его по диагонали. Какой можно сделать вывод диагонали равны Возьмите синий прямоугольник. | |||
61543. | Трёхзначные числа | 20.35 KB | |
Итак прежде чем приступим давайте проверим все ли готовы к уроку. А теперь давайте настроимся на работу с небольшой зарядкой. Молодцы Перед тем как мы приступим хочу сказать что я подготовила для вас одно очень интересное задание... | |||
61544. | Приёмы вычислений для случаев вида 26+4 | 21.13 KB | |
Тип урока: комбинированный Средства обучения: примеры на доске учебник наглядное пособие карточки с примерами Литература для учителя: Математика. На доске записаны числа... | |||
61545. | Что значит быть внимательным | 17.58 KB | |
Развивающие: развивать внимание память обогащать словарный запас. Ребята скажите а как вы думаете что такое внимание ответы детей Как вы думаете у всех ли есть внимание Как вы считаете что значит быть внимательным ответы детей Внимание есть у всех. | |||
61547. | Наблюдение над значениями приставок | 23.26 KB | |
Задачи: Повторить и закрепить знания о правописании приставок и их различия при написании слов. Развивать орфографическую зоркость, формировать навык грамотного письма слов и предложений с предлогами. | |||