[프로그래밍 언어]/python

두근두근 파이썬(개정판)_ch5 조건문

우당탕탕 개발 일지 2024. 1. 21. 22:04

안녕하세요. 우당탕탕 개발 일지입니다.

파이썬 에디터 IDLE 3.12.1을 사용합니다.

책과 수업 내용을 바탕으로 요약한 내용과 교재 뒤 연습문제입니다.

 

※ 오늘 다루는 내용은 뒷부분을 학습하기 전 많이 연습해 두는 게 좋습니다. 

연습문제를 많이 푼 상태에서 다음장으로 넘어가 주시길 바랍니다.

 

 

  • 기본 제어구조 
  • 관계/ 논리 연산자
  • 선택구조 (조건문)

 

1. 기본 제어구조 (3가지)

순차구조 (sequence) 선택구조 (selection) 반복구조 (iteration)
명령들이 순차적으로 실행되는 구조 둘 중 하나의 명령을 선택하여 실행하는 구조  동일한 명령이 반복되어 실행되는 구조 

두근두근 파이썬 (개정판)

 

 


2. 연산자 

2-1 관계 연산자

  • 두 개의 피연산자를 비교해 결과값을 참/거짓으로 생성.
  • 문자열도 알파벳순으로 비교 가능함.

두근두근 파이썬(개정판)

 

 

2-2 논리 연산자

  • 관계연산자 보다 복잡한 조건을 표현할 때 사용
X and Y X와 Y가 모두 참이어야 참.
X or Y X와 Y 중 하나라도 참이면 참.
not X X와 반대 결과 (X 거짓→참)

 

 

 

 

♠ 연산자는 ch3에서 다뤘지만 선택구조를 들어가기 전에 보고 들어가면 도움이 됩니다.

ch3 연산자- 링크 첨부( https://hansol2124.tistory.com/4  )


3. 선택구조 (조건문)

: 둘 중 하나의 명령을 선택하여 실행하는 구조

 

3-1 if-else문

if-else문은 만약(if) 조건이 참이면 이것을 실행하고, 거짓이면 저것(else)을 실행하라는 것과 같은 말이다. 

조건의 영향을 받는 문장은 반드시  들여쓰기를 해야 한다.⭐ 보통은 tab키를 눌러 4칸 space를 한다.

두근두근 파이썬(개정판)

 

 

예제 if-else

score = int(input("성적을 입력하시오: "))

if score >= 60:          # :의 의미는 아직 문장이 종료되지 않았다는 의미
	print("합격입니다.") #들여쓰기가 같은 문장을 블록이라고 한다.
	print("축하합니다.") #블록은 한번에 실행된다.
	
else:
	print("불합격입니다.")

 

 

예제  if-else문 안에 if-else문 넣기

num = int(input("정수를 입력하시오: "))

if num >= 0:
	if num == 0:
		print("0입니다.")
	else:
		print("양수입니다.")
else:
	print("음수입니다.")

 

 


3-2 if-elif-else문

if-elif-else문은  if 조건 A가 참이면 이것을 실행하고, 거짓이면 elif의 조건 B를 검토해서 참이면 실행하고 아니면 else를 실행하라는 것과 같은 말이다.

elif : else if의 약어

 

 

예제 if-elif-else

num = int(input("정수를 입력하시오: "))

if num > 0:
	print("양수입니다.")
elif num == 0:
	print("0입니다.")
else:
	print("음수입니다.")

 

 


연습문제 ch5-10

2개의 원에 대한 정보를 사용자로부터 받아 두 원의 관계를 판단하는 프로그램을 작성하라.

import turtle
t=turtle.Turtle()
t.shape("turtle")

x1=int(input("큰원의 중심좌표 x1:"))
y1=int(input("큰원의 중심좌표 y1:"))
r1=int(input("큰원의 중심좌표 r1:"))
x2=int(input("작은 원의 중심좌표 x2:"))
y2=int(input("작은 원의 중심좌표 y2:"))
r2=int(input("작은 원의 중심좌표 r2:"))


t.up();t.goto(x1,y1-r1);t.down();t.circle(r1)
t.up();t.goto(x2,y2-r2);t.down();t.circle(r2)

d=((x1-x2)**2+(y1-y2)**2)**0.5

if(r1+r2<=d):
    t.write("첫번째원과 두번째 원은 서로의 외부에 있습니다. ")
elif(r1-r2>=d):
    t.write("두번째원은 첫번째 원의 내부에 있습니다.")
elif(r2-r1>=d):
    t.write("첫번째원은 두번째 원의 내부에 있습니다.")    
else:
    t.write("첫번째원과 두번째은 두개의 교점을 가집니다.")

 

 

 

 

연습문제 ch5-13

컴퓨터와 사용자가 가위, 바위, 보 할 수 있는 프로그램을 작성해 보자.

value=("가위","바위","보")
user=input("가위,바위,보 중에 하나를  입력하시오:")
import random
computer=random.choice(value)
print("사용자",user)
print("컴퓨터:",computer)

if(user==computer):
    print("비겼습니다.")       
else:
    if(user=="가위"):
        if(computer=="바위"):
            print("컴퓨터가 이겼습니다.")
        else:
            print("사용자가 이겼습니다.")
    elif(user=="바위"):
        if(computer=="보"):
            print("컴퓨터가 이겼습니다.")
        else:
            print("사용자가 이겼습니다.")
    elif(user=="보"):
        if(computer=="가위"):
            print("컴퓨터가 이겼습니다.")
        else:
            print("사용자가 이겼습니다.")

 

 

 

728x90