Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
fullcircle:28:python_ч_2 [2016/03/15 17:43] [Списки] |
fullcircle:28:python_ч_2 [2018/01/08 20:54] [Подстановка переменных] |
||
---|---|---|---|
Строка 53: | Строка 53: | ||
<code> | <code> | ||
strng = 'The time has come' | strng = 'The time has come' | ||
- | print strng[1] | + | print (strng[1]) |
</code> | </code> | ||
Результат будет символ 'h'. Запомните: счёт начинается с 0, поэтому первый символ обозначается [0], второй — [1], третий — [2], и так далее. Если мы хотим отобразить символы начиная с положения 4 и заканчивая положением 8, то набираем: | Результат будет символ 'h'. Запомните: счёт начинается с 0, поэтому первый символ обозначается [0], второй — [1], третий — [2], и так далее. Если мы хотим отобразить символы начиная с положения 4 и заканчивая положением 8, то набираем: | ||
<code> | <code> | ||
- | print strng[4:8] | + | print (strng[4:8]) |
</code> | </code> | ||
результат будет 'time'. Как цикл for из первой части, счет остановится на 8, но не возвращает восьмой символ, которым является пробел после 'time'. | результат будет 'time'. Как цикл for из первой части, счет остановится на 8, но не возвращает восьмой символ, которым является пробел после 'time'. | ||
Строка 63: | Строка 63: | ||
Чтобы найти длину строки используем функцию len(): | Чтобы найти длину строки используем функцию len(): | ||
<code> | <code> | ||
- | print len(strng) | + | print (len(strng)) |
</code> | </code> | ||
Результатом будет 17. Если мы хотим найти, где в строке находится слово 'time', то набираем | Результатом будет 17. Если мы хотим найти, где в строке находится слово 'time', то набираем | ||
Строка 77: | Строка 77: | ||
При помощи команды split можно получить отдельные слова в строке. Разделим строку по пробелам командой: | При помощи команды split можно получить отдельные слова в строке. Разделим строку по пробелам командой: | ||
<code> | <code> | ||
- | print strng.split(' ') | + | print (strng.split(' ')) |
</code> | </code> | ||
которая вернёт список, состоящий из ['The', 'time', 'has', 'come']. Это очень мощная команда. Есть и другие операции над строками, которые мы рассмотрим позже. | которая вернёт список, состоящий из ['The', 'time', 'has', 'come']. Это очень мощная команда. Есть и другие операции над строками, которые мы рассмотрим позже. | ||
Строка 85: | Строка 85: | ||
Есть ещё одна вещь, о которой я хочу рассказать до того, как мы перейдём к следующей программе-примеру. Если мы хотим напечатать строку, включающую текст и переменную, можно использовать подстановку переменных. Это просто. Если мы хотим подставить строку, мы пишем '%s' и затем говорим Python, что надо подставить. Например, чтобы напечатать название месяца из нашего списка, можно использовать: | Есть ещё одна вещь, о которой я хочу рассказать до того, как мы перейдём к следующей программе-примеру. Если мы хотим напечатать строку, включающую текст и переменную, можно использовать подстановку переменных. Это просто. Если мы хотим подставить строку, мы пишем '%s' и затем говорим Python, что надо подставить. Например, чтобы напечатать название месяца из нашего списка, можно использовать: | ||
<code> | <code> | ||
- | print 'Month = %s' % months[0] | + | print ('Month = %s' % months[0]) |
</code> | </code> | ||
Эта команда выведет 'Month = Jan'. Если хотите подставить целое число, используйте '%d'. Рассмотрим пример ниже: | Эта команда выведет 'Month = Jan'. Если хотите подставить целое число, используйте '%d'. Рассмотрим пример ниже: | ||
Строка 92: | Строка 92: | ||
DaysInMonth = [31,28,31,30,31,30,31,31,30,31,30,31] | DaysInMonth = [31,28,31,30,31,30,31,31,30,31,30,31] | ||
for cntr in range(0,12): | for cntr in range(0,12): | ||
- | print '%s has %d days.' % (Months[cntr],DaysInMonth[cntr]) | + | print ('%s has %d days.' % (Months[cntr],DaysInMonth[cntr])) |
</code> | </code> | ||
Вывод этой программы: | Вывод этой программы: | ||
Строка 151: | Строка 151: | ||
Далее, мы должны обсудить комментарии. Комментарии важны по нескольким причинам. Они не только говорят вам или другим людям, что вы пытаетесь делать, но и напомнят вам через полгода, что же вы хотели сделать. Когда вы будете писать много программ, комментарии станут важными. Также при их помощи вы заставите Python игнорировать какие-либо части кода. Чтобы закомментировать строку, поставьте перед ней знак '#'. Например: | Далее, мы должны обсудить комментарии. Комментарии важны по нескольким причинам. Они не только говорят вам или другим людям, что вы пытаетесь делать, но и напомнят вам через полгода, что же вы хотели сделать. Когда вы будете писать много программ, комментарии станут важными. Также при их помощи вы заставите Python игнорировать какие-либо части кода. Чтобы закомментировать строку, поставьте перед ней знак '#'. Например: | ||
- | <code>#</code> Это комментарий | + | <code>#</code> Это - комментарий. |
Комментарии можно вставлять в любое место в строке, но помните, что Python проигнорирует всё, что идёт после '#'. | Комментарии можно вставлять в любое место в строке, но помните, что Python проигнорирует всё, что идёт после '#'. | ||
Строка 184: | Строка 184: | ||
x = 5 | x = 5 | ||
if x == 1: | if x == 1: | ||
- | print 'X is 1' | + | print ('X is 1') |
elif x < 6: | elif x < 6: | ||
- | print 'X is less than 6' | + | print ('X is less than 6') |
elif x < 10: | elif x < 10: | ||
- | print 'X is less than 10' | + | print ('X is less than 10') |
else: | else: | ||
- | print 'X is 10 or greater' | + | print ('X is 10 or greater') |
</code> | </code> | ||
Обратите внимание: мы используем оператор '<' для проверки, что x МЕНЬШЕ, ЧЕМ определенное значение — в этом случае 6 и 10. Другие часто используемые операторы сравнения: больше чем '>', меньше, чем или равно '%%<=%%', больше чем или равно '>=' и не равно '!='. | Обратите внимание: мы используем оператор '<' для проверки, что x МЕНЬШЕ, ЧЕМ определенное значение — в этом случае 6 и 10. Другие часто используемые операторы сравнения: больше чем '>', меньше, чем или равно '%%<=%%', больше чем или равно '>=' и не равно '!='. | ||
Строка 200: | Строка 200: | ||
loop = 1 | loop = 1 | ||
while loop <= 10: | while loop <= 10: | ||
- | print loop | + | print (loop) |
loop = loop + 1 | loop = loop + 1 | ||
</code> | </code> | ||
Строка 223: | Строка 223: | ||
loop = 1 | loop = 1 | ||
while loop == 1: | while loop == 1: | ||
- | response = raw_input("Enter something or 'quit' to end => ") | + | response = input("Enter something or 'quit' to end => ") |
if response == 'quit': | if response == 'quit': | ||
- | print 'quitting' | + | print ('quitting') |
loop = 0 | loop = 0 | ||
else: | else: | ||
- | print 'You typed %s' % response | + | print ('You typed %s' % response) |
</code> | </code> | ||
- | В этом примере, мы рассматриваем всё вместе: оператор if, цикл while, команду raw_input, последовательность для новой строки, операторы присваивания и сравнения — всё это в программе из 8 строк. | + | В этом примере, мы рассматриваем всё вместе: оператор if, цикл while, команду input, последовательность для новой строки, операторы присваивания и сравнения — всё это в программе из 8 строк. |
Если мы запустим этот пример, то увидим: | Если мы запустим этот пример, то увидим: | ||
Строка 253: | Строка 253: | ||
Обратите внимание на то, что при вводе 'QUIT' программа не завершила работу. Это потому, что мы сравниваем значение переменной response с 'quit' (response == 'quit'). 'QUIT' НЕ равно 'quit'. | Обратите внимание на то, что при вводе 'QUIT' программа не завершила работу. Это потому, что мы сравниваем значение переменной response с 'quit' (response == 'quit'). 'QUIT' НЕ равно 'quit'. | ||
- | Ещё один пример — и мы закончим урок в этом месяце. Предположим, что вы хотите проверить, может ли пользователь работать с вашей программой. Хотя этот пример не является самым лучшим, он хорошо показывает некоторые вещи, которые мы уже знаем. Короче говоря, мы запросим у пользователя его имя и пароль, сравним их с информацией внутри программы и примем решение на основании результатов сравнения. Мы используем два списка: в одном хранятся имена пользователей, в другом — пароли. Затем мы используем команду raw_input для получения информации от пользователя и, наконец, операторы if/elif/else для проверки, может ли пользователь работать. Запомните: это не самый лучший способ. Мы рассмотрим другие способы в последующих уроках. Наш код показан в рамке справа. | + | Ещё один пример — и мы закончим урок в этом месяце. Предположим, что вы хотите проверить, может ли пользователь работать с вашей программой. Хотя этот пример не является самым лучшим, он хорошо показывает некоторые вещи, которые мы уже знаем. Короче говоря, мы запросим у пользователя его имя и пароль, сравним их с информацией внутри программы и примем решение на основании результатов сравнения. Мы используем два списка: в одном хранятся имена пользователей, в другом — пароли. Затем мы используем команду input для получения информации от пользователя и, наконец, операторы if/elif/else для проверки, может ли пользователь работать. Запомните: это не самый лучший способ. Мы рассмотрим другие способы в последующих уроках. Наш код показан в рамке справа. |
Сохраните его как 'password_test.py', запустите и вводите разнообразные значения. | Сохраните его как 'password_test.py', запустите и вводите разнообразные значения. | ||
Строка 264: | Строка 264: | ||
=====Код к password_test.py ===== | =====Код к password_test.py ===== | ||
- | <code>#----------------------------------------------- | + | <code>#!/usr/bin/env python3 |
+ | #----------------------------------------------- | ||
#password_test.py | #password_test.py | ||
- | # example of if/else, lists, assignments,raw_input, | + | # example of if/else, lists, assignments, input, |
# comments and evaluations | # comments and evaluations | ||
#----------------------------------------------- | #----------------------------------------------- | ||
Строка 274: | Строка 275: | ||
#----------------------------------------------- | #----------------------------------------------- | ||
# Get username and password | # Get username and password | ||
- | usrname = raw_input('Enter your username => ') | + | usrname = input('Enter your username => ') |
- | pwd = raw_input('Enter your password => ') | + | pwd = input('Enter your password => ') |
#----------------------------------------------- | #----------------------------------------------- | ||
# Check to see if user is in the list | # Check to see if user is in the list | ||
Строка 281: | Строка 282: | ||
position = users.index(usrname) #Get the position in the list of the users | position = users.index(usrname) #Get the position in the list of the users | ||
if pwd == passwords[position]: #Find the password at position | if pwd == passwords[position]: #Find the password at position | ||
- | print 'Hi there, %s. Access granted.' % usrname | + | print ('Hi there, %s. Access granted.' % usrname) |
else: | else: | ||
- | print 'Password incorrect. Access denied.' | + | print ('Password incorrect. Access denied.') |
else: | else: | ||
- | print "Sorry...I don't recognize you. Access denied." | + | print ("Sorry...I don't recognize you. Access denied.") |
</code> | </code> | ||
--------------------------------------- | --------------------------------------- |