HOW-TO: Программа на Python, Часть 2 Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
fullcircle:28:python_ч_2 [2016/03/15 18:22]
[Подстановка переменных]
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'​.
Строка 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'​. Рассмотрим пример ниже:
Строка 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>​
 --------------------------------------- ---------------------------------------