일반인을 위한 파이썬 지침서/결정
If 서술문
+/-언제나와 같이 나는 연습문제를 타이프함으로써 워밍업을 하면서 각장을 시작하여야만 하고 그래서 여기에 하나의 숫자에 대한 절대값을 계산하는 짧은 프로그램을 보인다.
n = input("Number? ") if n < 0: print "The absolute value of",n,"is",-n else: print "The absolute value of",n,"is",n
여기에 내가 이 프로그램을 두 번 실행한 출력결과를 보인다.
Number? -34 The absolute value of -34 is 34 Number? 1 The absolute value of 1 is 1
자, 컴퓨터는 이 코드조각을 보고서 무엇을 하는가? 먼저 컴퓨터는 사용자에게 숫자 하나를 "n = input("Number? ")"사용하여 요구한다. 다음으로 컴퓨터는 "if n < 0:" 라인을 읽고서 만약 n 이 0 보다 작다면 파이썬은 "print "The absolute value of",n,"is",-n"라인을 실행하고 그렇지 않으면 "print "The absolute value of",n,"is",n"라인을 실행한다.
더욱 형식적으로 파이썬은 표현식 n < 0 이 참인가 거짓인가를 살핀다. if 서술문 다음에는 서술문의 블록이 따른다. 서술문이 참일 경우에 그 블록은 실행된다. 선택적으로 if 서술문 뒤에는 else 서술문이 있을 수 있다. else 서술문은 그 표현식이 거짓일 경우에 실행된다.
하나의 표현식이 가질수 있는 약간의 다른 예들이 있다. 여기에 그들 모두를 기술한 표를 보인다.
연산자 | 함수 |
---|---|
< | 미만 |
<= | 이하 |
> | 초과 |
>= | 이상 |
== | 같다 |
!= | 같지 않다 |
<> | not equal의 다른 표현 |
if 명령어의 또 다른 사양은 elif 이다. elif else if 의 약자이며 원래의 if 서술문이 거짓이고 elif 부분이 참이라면 그 부분을 실행하라는 뜻이다.
여기에 하나의 예제가 있다.
a = 0 while a < 10: a = a + 1 if a > 5: print a," > ",5 elif a <= 7: print a," <= ",7 else: print "Neither test was true"
그리고 그 출력은 다음과 같다.
1 <= 7 2 <= 7 3 <= 7 4 <= 7 5 <= 7 6 > 5 7 > 5 8 > 5 9 > 5 10 > 5
if문이 참이 되지 못할 때에만 elif a <= 7 가 평가됨을 주목하라 . elif 로 한개의 if 서술문안에서 다중 테스를 할 수 있다.
예제
+/-# High_low.py # Plays the guessing game higher or lower # (originally written by Josh Cogliati, improved by Quique) # This should actually something that is semi random like the # last digits of the time or something else, but that will have to # wait till a later chapter. (Extra Credit, modify it to be random # after the Modules chapter) number = 78 guess = 0 while guess != number : guess = input ("Guess a number: ") if guess > number : print "Too high" elif guess < number : print "Too low" print "Just right"
Sample run: Guess a number:100 Too high Guess a number:50 Too low Guess a number:75 Too low Guess a number:87 Too high Guess a number:81 Too high Guess a number:78 Just right