티스토리 뷰

4.4 if 문(if Statements)

 

- if 문(if Statements)은 조건식이 참(true)일 경우 명령을 실행하는 명령문이다.

- 조건식거짓(false)일 경우, if문 블록(block)안에 있는 명령문은 건너뛰고 다음 코드를 해석한다.

- if문은 단일, 2 중, 다중, if-else if-else 형식으로 다양하게 만들 수 있다.

 

*단일 if문 작성형태

if boolean-expression:

statement(s) # statements(s) 앞에 반드시 공백이 있어야 한다.

- statement(s)를 입력할 때, 반드시 if 키워드(keyword) 옆에 최소 하나의 공백이 있어야 한다.

- 각각의 다른 명령(statements)들도 동일한 칸 수의 공백을 이용하여야 한다.

 

* if문을 이용해 5의 배수와 2의 배수를 판별하는 프로그램

1
2
3
4
5
6
7
num = eval(input("Enter number"))
 
if num%== 0:
    print("HiFive")
 
if num%== 0:
    print("HiEven")
cs

 

4.5 생일 맞히기

 

- 아래 코드에 구현 되어있는 달력 안에 자신의 생일의 일(day)자가 있다면 1을 입력, 없다면 0을 입력

- 1을 입력하였다면 그 달력의 제일 첫번째 일(day) 수를 더한다.

- 총 5번의 질문을 받아 출력하면 자신의 생일의 일(day)수가 나오게 구현하여라

 

*생일 맞히기 프로그램

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
day = 0
#Ques1
question1 = "Is your birthday is Set1?\n" + \
            " 1  3  5  7\n" +\
            " 9 11 13 15\n" +\
            "17 19 21 23\n" +\
            "25 27 29 31\n" +\
            "Enter 0 for No and 1 for Yes: "
answer = eval(input(question1))
 
if answer == 1:
    day += 1
 
#Ques2
question2 = "\nIs your birthday is Set2?\n" +\
            " 2  3  6  7\n" +\
            "10 11 14 15\n" +\
            "18 19 22 23\n" +\
            "26 27 30 31\n" +\
            "Enter 0 for No and 1 for Yes: "
answer = eval(input(question2))
if answer == 1:
    day += 2
 
#Ques3
question3 = "\nIs your birthday is Set 3?\n" +\
            " 4  5  6  7\n" +\
            "12 13 14 15\n" +\
            "20 21 22 23\n" +\
            "28 29 30 31\n" +\
            "Enter 0 for No and 1 for Yes"
answer = eval(input(question3))
if answer == 1:
    day += 4
    
#Ques4
question4 = "\nIs your birthday is Set 4?\n" +\
            " 8  9 10 11\n" +\
            "12 13 14 15\n" +\
            "24 25 26 27\n" +\
            "28 29 30 31\n" +\
            "Enter 0 for No and 1 for Yes: "
answer = eval(input(question4))
if answer == 1:
    day +=8
 
#Ques5
question5 = "\nIs your birthday is Set 5?\n" +\
            "16 17 18 19\n" +\
            "20 21 22 23\n" +\
            "24 25 26 27\n" +\
            "28 29 30 31\n" +\
            "Enter your 0 for No 1 for Yes: "
answer = eval(input(question5))
if(answer == 1):
    day += 16
 
print("\nyour birthday is ",day,"!")
cs

 

 

4.6 이중 if-else 문(Two-Way if-else Statements)

 

- 이중 if-else문(Two-Way if-else Statements)은 조건이 참(true)인 경우와 거짓(false)인 경우 중 양자택일을 하는 선택문이다.

- 앞서 단일 if문의 경우, 참(true)인 경우에만 명령이 실행되게 만들었다면다면, 이 명령문은 거짓(false)인 경우에 실행할 명령문을 구성할 수 있다.

 

* 이중 if-else문 작성 형식

if boolean-expression: 

statement(s)-for-the-true-case

else:

statement(s)-for-the-false-case

 

- 만약 부울 표현식(boolean expression) 참(true)이라면, 참인 경우(true case)에 실행되는 명령어가 실행될 것이며, 부울 표현식(boolean expression)이 거짓(false)인 경우에는 거짓인 경우(false case)에 실행되는 명령어가 실행된다.

 

if radius >= 0:

area = radius * radius * math.pi

print("The area for the circle of radius", radius, "is", area)

else:

print("Negative input")

 

if number % 2 == 0:

print(number, "is even.")

else:

print(number, "is odd.")

 

 

 

랜덤 정수 빼기 프로그램 만들기

- 두 개의 정수를 랜덤으로 할당받아 두 수를 빼는 프로그램을 작성하시오.

- 만약에 num1이 num2 보다 작다면 두 변수의 값을 서로 교환하여 음수가 나오지 않도록 하시오.

 

* 랜덤정수 빼기 프로그램

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import random;
 
num1 = random.randint(0,9)
num2 = random.randint(0,9)
 
if num1 < num2 :
    num1, num2 = num2, num1 #동시할당문 쓰기
 
answer = eval(input("what is "+str(num1) + " - " + str(num2)+ "? : "))
 
if answer == num1 - num2:
    print("You are correct!")
 
else :
    print("Your answer is wrong.\n",num1," - ",num2,"is",num1-num2)
cs

 

참고 문헌 : Introduction to Programming Using Python / Y.DANIEL LIANG



본 게시물은 개인적인 용도로 작성된 게시물입니다. 이후 포트폴리오로 사용될 정리 자료이니 불펌과 무단도용은 하지 말아주시고 개인 공부 목적으로만 이용해주시기 바랍니다.


교재 영어 원서를 직접 번역하여 정리한 게시물이므로 일부 오타, 의역이 존재할 수 있습니다. 틀린 부분이 있다면 댓글로 알려주시면 감사하겠습니다. 

댓글