220921 Python #7

김혜진·2022년 9월 21일
0

Python

목록 보기
6/24

Python #7

함수

함수의 형태와 사용 방법

커피자판기 코드 작성하기

  • 커피를 서비스 하는 과정
    주문 받아 순차적으로 수행하는 루틴이라서 손님이 1명이라면 문제 없다.
    손님이 여러명이라면 ? 같은 수행을 여러 번 반복해야 한다. 손님 수에 따라 코드 라인이 배수로 늘어난다.
coffee = ''

coffee = input('커피를 선택하시오(아메리카노, 카페라떼, 카페모카) : ')
print()

print('1. 물을 준비한다.')
print('2. 컵을 준비한다.')

if coffee == '아메리카노' :
    print(coffee, '를 탄다.')
elif coffee == '카페라떼' :
    print(coffee,'를 탄다.')
elif coffee == '카페모카' :
    print(coffee, '를 탄다.')
else :
    print('아무거나 탄다.')

print('3. 물을 붓는다.')
print(coffee, '한 잔 서비스 완료!!')

출력결과
커피를 선택하시오(아메리카노, 카페라떼, 카페모카) : (아메리카노)

1. 물을 준비한다.
2. 컵을 준비한다.
아메리카노 를 탄다.
3. 물을 붓는다.

아메리카노 한 잔 서비스 완료!!

def coffee_machine(coffee) :
    print('1. 물을 준비한다.')
    print('2. 컵을 준비한다.')

    if coffee == '아메리카노' :
        print(coffee, '를 탄다.')
    elif coffee == '카페라떼' :
        print(coffee,'를 탄다.')
    elif coffee == '카페모카' :
        print(coffee, '를 탄다.')
    else :
        print('아무거나 탄다.')



for customer in range(0, 3, 1) :
    coffee = ''
    coffee = input('커피를 선택하시오(아메리카노, 카페라떼, 카페모카) : ')
    print()
    coffee_machine(coffee)
    print()
    print('3. 물을 붓는다.')
    print(coffee, '한 잔 서비스 완료!!')

for customer in range(0, 3) 처럼 반복문에서 증가값을 써주지 않으면 증가값이 1로 설정된다.


리스트

리스트는 무엇인가

  • 리스트는 사전적 의미로 '목록'을 뜻한다.
  • 임의의 정보들을 순서대로 나열하여 보여주는 형태를 리스트라고 한다.
  • 일반 자동차는 각각의 독립적인 개체이다.
  • 기차는 각각의 개별 객차들을 한 줄로 붙여놓은 전체 개체이다.
  • 객차는 KTX[0], KTX[1], KTX[2]...와 같이 인덱스 번호를 붙여서 구분

리스트를 왜 사용할까

  • 100개의 변수 선언은 한계가 느껴지지요? 이럴 때 리스트가 필요하다.
리스트 이름 = [1,2,3, ...]
  • 리스트는 대괄호([]) 안에 값들을 선언하면 된다.
ktx = [1, 2, 3]
  • 리스트의 각 값에 접근하려면 리스트 이름에 인덱스 값을 넣어 접근 가능
    ktx[0]는 1, ktx[1]은 2, ktx[2]는 3의 값을 나타냄
ktx = [1,2,3]
 
sum = ktx[0] + ktx[1] + ktx[2]

print(sum)

출력결과
6

10까지 합계구하기

ktx = [1,2,3,4,5,6,7,8,9,10]
 
sum = 0

for i in range(0, 10) :
    sum +=  ktx[i]

print(sum)

출력결과
55

리스트에 값을 추가하기

리스트이름.append()
ktx = []
sum = 0

for i in range (0, 100):
    ktx.append(i+1)

for i in range(0,100):
    sum += ktx[i]

print(sum)

출력결과
5050

리스트를 초기화하기

  • 변수와 리스트의 목적은 값을 입력하여 사용하는 것이다.
  • 리스트도 변수처럼 초기화 할 수 있다.
ktx = []
ktx = [1,2,3,4,5]
ktx = [3.14, 1.59, 2.65]
ktx = ['대한민국은', '민주공화국이다']
ktx = [1, 2, '박수', 4, 5, '박수']
  • 빈 리스트
  • 정수로 초기화
  • 실수로 초기화
  • 문자열로 초기화
  • 다른 타입으로 구성된 리스트

리스트의 접근 범위 지정

  • 리스트의 접근 범위 지정을 할 수 있다.

리스트이름[시작인덱스 : 끝인덱스 + 1]
리스트이름[시작인덱스 :]

  • 리스트의 이름에 중괄호[]를 묶어주고 시작인덱스와 끝인덱스를 입력
  • 구분자는 콜론(;)
  • 끝 인덱스 + 1의 값은 제외
ktx = [10, 20, 30, 40, 50, 60, 70]
print(ktx[0:2])
print(ktx[0:5])
print(ktx[2:6])

출력결과
[10, 20]
[10, 20, 30, 40, 50]
[30, 40, 50, 60]

  • 시작인덱스와 끝인덱스를 생략할 수 있다.
    리스트이름[시작인덱스 : 끝인덱스 + 1]
    리스트이름[시작인덱스 :]

  • 생략의 의미는 전체를 나타낸다.

ktx = [10, 20, 30, 40, 50, 60, 70]
print(ktx[0:3])
print(ktx[3:])

출력결과
[10, 20, 30]
[40, 50, 60, 70]

리스트 간의 연산

  • 리스트 간에 더하기 연산과 곱하기 연산이 가능
    리스트 + 리스트
    리스트 * 정수

  • 리스트끼리 더하면 하나의 리스트로 합쳐짐

  • 리스트에 정수를 곱하게 되면 곱한 수만큼 항목이 반복해서 늘어남.

ktx = [10, 20, 30]
tgv = [40, 50, 60]
print(ktx + tgv)
print(ktx * 3)

출력결과
[10, 20, 30, 40, 50, 60]
[10, 20, 30, 10, 20, 30, 10, 20, 30]

profile
알고 쓰자!

0개의 댓글