Опубликован: 14.06.2015 | Доступ: свободный | Студентов: 4656 / 500 | Длительность: 21:48:00
Авторские права: Creative Commons Attribution 3.0

Лекция 2: Переменные, выражения и инструкции (Variables, expressions and statements)

2.9. Строковые операции

Оператор + работает со строками, но это не сложение в математическом смысле. Вместо этого, выполняется операция конкатенации (concatenation), которая объединяет строки одна за другой. Например,

>>> first = 10
>>> second = 15
>>> print first+second
25
>>> first = '100'
>>> second = '150'
>>> print first + second
100150

2.10. Ввод входных данных

Иногда необходимо вводить значение переменной, используя клавиатуру. Python предоставляет встроенную функцию raw_input, которая получает входные значения с клавиатуры. В новой версии Python 2.0 эта функция носит название input. Когда вызывается эта функция, программа останавливается и ожидает действий пользователя. Когда пользователь нажимает Return или Enter, программа продолжает выполнение, и raw_input возвращает введенную пользователем строку.

>>> input = raw_input()
Some silly stuff
>>> print input
Some silly stuff

Перед тем, как получить от пользователя некоторые данные, будет хорошим тоном – вывести на экран информацию о том, что пользователю необходимо ввести. Вы можете передать эту информацию в качестве входного параметра функции raw_input:

>>> name = raw_input('What is your name?\n')
What is your name?
Chuck
>>> print name
Chuck

Последовательность \n в конце приглашения обозначает новую строку (newline), поэтому пользователь начинает ввод со следующей после приглашения строки.

Если вы ожидаете от пользователя ввода целочисленного значения, то можете воспользоваться функцией int для преобразования входной строки в число:

>>> prompt = 'What...is the airspeed velocity of an unladen 
swallow?\n'
>>> speed = raw_input(prompt)
What...is the airspeed velocity of an unladen swallow?
17
>>> int(speed)
17
>>> int(speed) + 5
22

Не всегда преобразование типов проходит гладко:

>>> speed = raw_input(prompt)
What...is the airspeed velocity of an unladen swallow?
What do you mean, an African or a European swallow?
>>> int(speed)


Traceback (most recent call last):
     File "<pyshell#10>", line 1, in <module>
       int(speed)
       
ValueError: invalid literal for int() with base 10: 'What do you 
mean, an African or a European swallow?'

Позже мы рассмотрим, как обрабатывать подобные ошибки.

2.11. Комментарии

Когда программы разрастаются то, их становится сложно читать. Чтобы упростить чтение отдельных частей программы в программу добавляются заметки, которые на человеческом языке рассказывают, что программа делает. Эти заметки называются комментариями и начинаются с символа #.

# compute the percentage of the hour that has elapsed
percentage = (minute * 100) / 60

Комментарии можно оставлять в конце выражения:

percentage = (minute * 100) / 60 # percentage of an hour

Весь текст, начиная от # и до конца строки, игнорируется Python.

Комментарии призваны ответить на вопрос "почему?". Они обычно содержат полезную информацию, которой НЕТ в коде.

Ксения Шошина
Ксения Шошина

курс Программирование на Python

Илья Кизилов
Илья Кизилов

В лекции приводится программа для сортировки слов по их длинне. В коде ошибка. Я исправил так:

def sort_by_length(words):

words = words.split()

t = []

for word in words:

t.append((len(word), word))

t.sort(reverse=True)

res = []

for length, word in t:

res.append(word)

return res

print(sort_by_length(words))

 

Кто ещё как сделал?

 

Андрей Коробейников
Андрей Коробейников
Россия, Новосибирск, Сибирский государственный университет телекоммуникаций и информатики, 1999
Олег Огородников
Олег Огородников
Россия