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 = 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
변수는 데이타를 저장한다. 위의 프로그램에서 변수는 a, b23, first_name, b, 그리고 c이다.
기본적인 형 두가지는 문자열과 숫자이다. 문자열은 문자들, 숫자 그리고 다른 문자들의 연속열이다. 이 예제에서 b23 와 first_name은 문자열을 담고있는 변수이다. Spam, Bill, a + b is, 그리고 first_name is 는 이프로그램에서 문자열이다.문자는 " 또는 '으로 둘러 쳐진다. 다른 타입의 변수는 숫자이다.
좋다, 자 우리는 이러한 변수들이라 부르는 상자들과 또한 다른 변수로 갈수 있는 데이타를 가지고 있다. 컴퓨터는 first_name = "Bill"와 같은 라인을 보고서 그것을 읽기를 'Bill이라는 스트링을 first_name라는 상자(혹은 변수)에 집어 넣어라'라고 읽을 것이다. 그리고는 c = a + b라는 서술문을 보게되고 읽기를 'a + b혹은 123.4 + 432 또는 555.4를 c에 집어 넣어라'라고 읽을 것이다.
여기에 변수 사용법에 대한 또 다른 예제가 있다:
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
num는 input문으로 반면에 str은 raw_input문으로 할당되고 있음을 주목하라. raw_input은 문자열을 반환하는 반면에input은 숫자를 반환한다. 사용자가 숫자의 형태로 입력하기를 원한다면input을 사용하라 그러나 사용자가 문자열의 형태로 입력하기를 원한다면 raw_input을 사용하라.
프로그램의 후반부에서 type를 사용하는데 그것은 변수의 형을 말해 준다.
숫자들은 정수형int 이거나 소수형float이다 (그것들은 각각 integer 와 floating point의 약자이다). 문자열은 string이다.
언제 어떻게 파이썬이 하나의 수치를 정수로 곱셈을 해야 예상한 바가 일어나는지를 또한 주목하라. 그렇지만 하나의 문자열이 정수에 의하여 곱하여졌을때 그 문자열은 자신의 많은 복사본이 더해지게 된다.
다시 말하면 str * 2 = HelloHello.
Rate_times.py
#This programs calculates rate and distance problems
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
Area.py
#This program calculates the perimeter and area of a rectangle
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
temperature.py
#Converts fahrenheit to celcius
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