220920 Python #6

김혜진·2022년 9월 20일
0

Python

목록 보기
5/24

Python #6

반복문

for문

입력받은 단 출력하기

input = int(input('구구단을 외자 : '))

for val in range(1, 10, 1) :
    print("%d * %d = %d" % (input, val, input * val))

출력결과
구구단을 외자 : (6)
6 * 3 = 18
6 * 5 = 30
6 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 54

for문 안에 for문(이중 반목문)

  • 이중 반복문의 형식
for 변수1 in range(시작값, 끝값, 증가값):
	for 변수2 in range(시작값, 끝값, 증가값):
    	반복할 문장

지구의 공전과 자전의 혼합 원리와 비슷하다.

C와 파이썬의 차이점
C는 개행할 때 '\n' 입력이 필수지만, 파이썬은 자동개행이 되기 때문에 개행을 막으려면 (end = ' ') 을 작성해주어야 한다.

1단부터 9단까지 출력하기

for val in range(2, 10, 1) :
    for num in range (1, 10, 1) :
        print("%d * %d = %d" % (val, num, val * num), end = ' ')
    print()

출력결과
2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18
...
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81

별 찍기

for a in range(0, 5, 1) :
    for b in range (0, a , 1) :
        print("*", end = "")
    print()

출력결과
*
**
***
****
*****

while문

  • while문의 사용 문법
iloop = 0
while iloop < 5 :
    print("Programming")
    iloop += 1

출력결과
Programming
Programming
Programming
Programming
Programming

1부터 10까지의 합

iloop = 0
sum = 0

while iloop < 11:
    sum += iloop
    iloop += 1
print(sum)

출력결과
55

구구단 2단 출력하기

num = 1
while num < 10 :
    print("2 * %d = %d" % (num, num * 2))
    num += 1

출력결과
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18

1단부터 9단까지 출력하기

dan = 2

while dan < 10 :
    num = 1
    while num < 10 :
        print("%d * %d = %d" % (dan, num, num * dan), end =" ")
        num += 1
    dan += 1
    print()

출력결과
2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18
...
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81

break문과 continue문

  • 멈추거나 계속하거나
    continue는 '고', break는 '스톱'

break문의 기본 원리

  • break문의 사전적인 의미는 '중단하다', '차단하다'는 뜻이 있다.
  • 코드에서도 break문은 그 지점에서 동작을 중단한다는 의미이다.
  • 반복문 안에서 사용되면 해당 반복문을 빠져나가라는 의미이다.
hap = 0
inum = 0

while True :
    inum = int(input('정수를 입력하세요 : '))
    if(inum == -1) :
        break
    hap += inum
    print('누적된 합은 : ' + str(hap))

출력결과
정수를 입력하세요 : (30)
누적된 합은 : 30
정수를 입력하세요 : (60)
누적된 합은 : 90
정수를 입력하세요 : (-1)

continue문의 기본 원리

  • continue문은 반복을 수행하는 중에 생략하고 넘어가고 싶은 것이 있을 때 사용하면 된다.
  • 반복문 while 내부에서 특정 조건이 되면 continue문을 만나게 되는데, 이 때 continue문 이하의 수행은 무시하고, 다시 반복의 시작점인 while문으로 이동하여 그 다음의 수행을 합니다.
a = 0
while a < 100 :
    a += 1
    if a > 80 and a < 90 :
        continue
    print('a의 값은: ', a)

출력결과
a의 값은: 1
a의 값은: 2
...
(81~89값 제외)
...
a의 값은: 98
a의 값은: 99
a의 값은: 100


함수

함수를 사용하는 이유

  • 코드의 가독성이 좋아진다.
    기능단위로 나누어 놓음으로써 코드의 정리가 잘되어 읽기 쉬워진다.

  • 코드의 유지보수 및 확장이 쉬워진다.
    정리가 잘 되어있는 가독성 좋은 코드는 유지도 쉽고, 추가 확장도 용이하다.

  • 반복적으로 수행할 내용의 재사용이 가능하다.
    매번 같은 과정의 코드를 반복해서 작성할 필요 없이 함수로 만들어놓고 필요할 때 호출한다.

함수의 종류

  • 내장 함수 (표준 함수)
    파이썬에 라이브러리 형태로 내장되어 있는 함수
    대표적으로 print(), input()과 같은 함수
    함수를 사용할 수는 있지만 내부 코드를 알 수는 없다.
    내장 함수의 레퍼런스 참고

  • 사용자 정의 함수
    내장 함수로는 충족되지 않는 기능들이 많다.
    개발자들이 원하는 기능을 직접 만드는 함수를 사용자 정의 함수라고 한다.

함수의 형태와 사용 방법

함수의 형태와 구성요소

def 함수이름(전달인자):
	# 함수의 내용 작성
  • def
    def는 define의 약자로 정의한다는 뜻을 가지고 있다.
    def 키워드가 나오면 파이썬의 함수가 정의된 것이다.

  • 함수이름
    함수이름 정할 때 파이썬의 예약어는 피한다.
    함수의 기능에 맞는 이름을 정해야 한다.

  • 전달인자(매개변수)
    함수 호출 시 필요에 따라 값을 전달한다.
    전달인자의 개수가 없을 수도 있고, 여러 개일 수도 있다.

간단한 함수 작성하기

  • 사칙연산 기능 중 더하기 기능 작성
def plus (a,b):
    return a + b

result = plus(10,20) #호출
print(result)

출력결과
30

함수의 호출과 프로그램 흐름

  • 함수의 호출 및 반환되는 흐름을 순서대로 표시

사칙연산 계산기 만들기

def plus (a,b):
    return a + b

def minus (a,b):
    return a - b

def multiple (a,b):
    return a * b

def divide (a,b):
    return a % b    

num1 = int(input('첫 번째 수를 입력하시오 : '))
num2 = int(input('두 번째 수를 입력하시오 : '))

result = plus(num1,num2)
print(result)
result = minus(num1,num2)
print(result)
result = multiple(num1,num2) 
print(result)
result = divide(num1,num2)
print(result)

출력결과
첫 번째 수를 입력하시오 : (20)
두 번째 수를 입력하시오 : (5)
25
15
100
4.0

계정 정보 검사 코드 함수로 만들기

id = 'jamsuham'
pw = '1234'

def account (userid, userpw) :
    if id == userid:
        if pw == userpw:
            print('로그인 되었습니다.')
        else:
            print('패스워드가 틀렸습니다.')
    else:
        print('아이디가 틀렸습니다.')

userid = input('사용자 아이디 : ')
userpw = input('사용자 비밀번호 : ')

account(userid, userpw)

출력결과
사용자 아이디 : (jamsuham)
사용자 비밀번호 : (1234)
로그인 되었습니다.

profile
알고 쓰자!

0개의 댓글