print "Halt!" s = raw_input("Who Goes there? ") print "You may pass,", s
Когда я выполняю эту программу, мой мой экран показывает:
Halt! Who Goes there? Josh You may pass, Josh
Конечно, в вашем случае ваш экран будет выглядеть по-другому из-за оператора raw_input. Когда вы запускали программу (вы ведь ее запускали?), вероятно, вы обратили внимание, что вам пришлось напечатать ваше имя и нажать
Конечно, было бы совершенно бесполезным запрашивать данные, если бы эту информацию было бы невозможно сохранить в программе – вот здесь и появляются переменные. В предыдущей программе s является переменной. Переменная подобна контейнеру, который может содержать какие-либо данные. Следующая программа дает пример использования переменных:
А вот результат:
Переменные содержат данные. В предыдущей программе переменными являются a, b23,
Теперь у нас есть контейнеры и данные, содержащиеся в них. Компьютер увидит команду вроде first_name = "Bill" и прочтет ее как: помести строку Bill в контейнер (или переменную) first_name. Далее он увидит команду c = a + b и прочтет ее как: помести a + b или 123.4 + 432 или 555.4 в c.
Другой пример использования переменных:
И конечно, результат:
Даже если по обеим сторонам знака равенства стоит та же самая переменная, компьютер все равно понимает это следующим образом: сначала выясни, какие данные надо сохранить, затем выясни, куда их нужно сохранить.
Еще одна программа перед тем, как я закончу эту главу:
Результат работы программы, полученный мной:
Обратите внимание, что num была считана командой input, а str – командой raw_input. raw_input считывает строку, а input – число. Если вы хотите, чтобы пользователь ввел число, используйте input, а для строки используйте raw_input.
Вторая половина программы использует команду type, которая сообщает тип переменной. Числа имеют тип int или float (сокращения от английских слов «целое» для первого и «число с плавающей десятичной точкой» для второго). Строки имеют тип string. Целые и десятичные числа могут быть использованы в математических функциях, а строки – не могут. Заметьте: когда Python умножает любое число на целое число, получается очевидный результат. Однако когда строка умножается на целое число, она повторяется соответствующее количество раз, например: str * 2 = HelloHello.
Те же операторы делают со строками немного другие вещи, чем с числами. Некоторые примеры в диалоговом режиме, демонстрирующие это:
Список некоторых операторов для строк:
Rate_times.py
Примеры работы программы:
Примеры работы программы:
temperature.py
Примеры работы программы:
Напишите программу, которая запрашивает у пользователя 2 строковые переменные и 2 целочисленные переменные, присоединяет (без пробелов) строковые переменные, выводит их, затем перемножает целочисленные переменные и выводит результат на новой строке.
a = 123.4
b23 = 'Spam'
first_name = "Bill"
b = 432
c = a + b
print "a + b is", c
print "first_name is", first_name
print "Sorted Parts, After Midnight or",b23
a + b is 555.4
first_name is Bill
Sorted Parts, After Midnight or Spam
first_name
, b и c. Два основных типа переменных – строки и числа. Строки – это набор букв, цифр и других литеры. В этом примере b23 и first_name
– переменные, содержащие строки. Spam, Bill, a + b is и first_name is – строки в программе. Литеры заключены в " или '. Другой тип переменных – числа.
a = 1
print a
a = a + 1
print a
a = a * 2
print a
1
2
4
num = input("Type in a Number: ")
str = raw_input("Type in a String: ")
print "num =", num
print "num is a ",type(num)
print "num * 2 =",num*2
print "str =", str
print "str is a ",type(str)
print "str * 2 =",str*2
Type in a Number: 12.34
Type in a String: Hello
num = 12.34
num is a <type 'float'>
num * 2 = 24.68
str = Hello
str is a <type 'string'>
str * 2 = HelloHello
>>> "This"+" "+"is"+" joined."
'This is joined.'
>>> "Ha, "*5
'Ha, Ha, Ha, Ha, Ha, '
>>> "Ha, "*5+"ha!"
'Ha, Ha, Ha, Ha, Ha, ha!'
>>>
Операция
Знак
Пример
Повторение
*
"i"*5 == "iiiii"
Объединение
+
"Hello, "+"World!" == "Hello, World!"
Примеры
#Программа находит время движения при заданных скорости и расстоянии
print "Input a rate and a distance"
rate = input("Rate:")
distance = input("Distance:")
print "Time:",distance/rate
> python rate_times.py
Input a rate and a distance
Rate:5
Distance:10
Time: 2
> python rate_times.py
Input a rate and a distance
Rate:3.52
Distance:45.6
Time: 12.9545454545
#Периметр и площадь квадрата
print "Calculate information about a rectangle"
length = input("Length:")
width = input("Width:")
print "Area",length*width
print "Perimeter",2*length+2*width
> python area.py
Calculate information about a rectangle
Length:4
Width:3
Area 12
Perimeter 14
> python area.py
Calculate information about a rectangle
Length:2.53
Width:5.2
Area 13.156
Perimeter 15.46
#Перевод из градусов Фаренгейта в градусы Цельсия
temp = input("Farenheit temperature:")
print (temp-32.0)*5.0/9.0
> python temperature.py
Farenheit temperature:32
0.0
> python temperature.py
Farenheit temperature:-40
-40.0
> python temperature.py
Farenheit temperature:212
100.0
> python temperature.py
Farenheit temperature:98.6
37.0
Упражнения
Далее: Считаем до десяти
Наверх: Курс языка Python для начинающих
Назад: Hello, World
  Содержание
Джош Коглиати jjc@honors.montana.edu Версия Wikibooks: Курс языка Python Для начинающих на Wikibooks