본문 바로가기

Study/class note

python / 리스트 이해하기

036 리스트 이해하기([ ])

리스트는 파이썬에서 가장 많이 활용되는 시퀀스 자료형 중 하나.

리스트 [ ] 로 표시하며 [ ] 안에 요소를 콤마(,)로 구분하여 순서있게 나열합니다.

k = ['a','b','c','d','e']
print(type(k) )    # <class type list>

print(k[0])    # a

문제135. 동전의 앞면과 뒷면이라는 요소를 포함하는 coin 리스트 변수를 만드시오.

coin = ['앞면','뒷면']

문제136. 위에서 만든 coin리스트의 요소를 10000개로 늘려서 coin_10000 변수에 담으시오. (= coin 10000개 생성)

coin = ['앞면','뒷면']

coin_10000 = coin * 10000
print(coin_10000)

문제137. 위에서 만든 coin_10000 리스트에서 표본을 10개를 랜덤 추출하시오.(복원추출)

import numpy as np

coin = ['앞면','뒷면']

coin_10000 = coin * 10000
print(np.random.choice(coin_10000,10,replace=True))

문제138. 위에서 추출한 샘플 10개에서 앞면이 몇 번 나오는지 출력하시오.

import numpy as np

coin = ['앞면','뒷면']
coin_10000 = coin * 10000

result = np.random.choice(coin_10000,10,replace=True)
result2 = list(result)      #numpy array를 list로 변환
result2.count('앞면')

문자열.count('단어')가 되듯이 list변수.count('요소값')도 가능함.

 

 

문제139. (오늘의 마지막 문제) 점심시간 문제로 했던 커피 키오스크에 쿠폰 발급을 추가해주세요.

1번:아메리카노:1500원 
2번:카페라떼:2500원 
3번:카페모카:3500원
주문하시겠습니까? 메뉴를 골라주세요. 번호를 눌러주세요.1
아메리카노를 선택하셨습니다.
몇 잔 주문하시겠습니까?2
결제하실 금액은 3000 원 입니다.
돈을 입력하세요~3000
아메리카노가 나왔습니다. 거스름돈은  0 원 입니다.
쿠폰이 2개가 발행되었습니다. 20개를 모으면 한 잔 무료입니다.
print('1번:아메리카노:1500원 \n2번:카페라떼:2500원 \n3번:카페모카:3500원')

coffee1 = 20   #아메리카노 
coffee2 = 10   #카페라떼
coffee3 = 30   #카페모카

c1_price = 1500
c2_price = 2500
c3_price = 3500

coupon = 0

while True:
    num = int(input('주문하시겠습니까? 메뉴를 골라주세요. 번호를 눌러주세요.'))
    if num == 1:
        print('아메리카노를 선택하셨습니다.')
        cup = int(input('몇 잔 주문하시겠습니까?'))
        if cup > coffee1:
            print('죄송합니다. 주문량에 비해 아메리카노가 부족합니다.')
            print('현재 주문 가능한 수량은 %d잔 입니다.' %coffee1, '다시 입력해주세요.')
            cup = int(input('몇 잔 주문하시겠습니까?'))
        print('결제하실 금액은',c1_price * cup, '원 입니다.')
        money = int(input('돈을 입력하세요~'))
        if coffee1 >= cup and money >= c1_price * cup:
            print('아메리카노가 나왔습니다. 거스름돈은 ',money - c1_price*cup,'원 입니다.')
            print('쿠폰이 %d개가 발행되었습니다. 20개를 모으면 한잔 무료입니다.'%cup)
            coffee1 -= cup
            coupon += cup
            print('현재 쿠폰이 %d개 있습니다.'%coupon)
        elif coffee1 >= cup and money < c1_price * cup:
            print('금액이 부족합니다. 돈을 반환합니다.')
            
    elif num == 2:
        print('카페라떼를 선택하셨습니다.')
        cup = int(input('몇 잔 주문하시겠습니까?'))
        if cup > coffee2:
            print('죄송합니다. 주문량에 비해 카페라떼가 부족합니다.')
            print('현재 주문 가능한 수량은 %d잔 입니다.' %coffee2, '다시 입력해주세요.')
            cup = int(input('몇 잔 주문하시겠습니까?'))
        print('결제하실 금액은',c2_price * cup, '원 입니다.')
        money = int(input('돈을 입력하세요~'))
        if coffee2 >= cup and money >= c2_price * cup:
            print('카페라떼가 나왔습니다. 거스름돈은 ',money - c2_price*cup,'원 입니다.')
            print('쿠폰이 %d개가 발행되었습니다. 20개를 모으면 한잔 무료입니다.'%cup)
            coffee2 -= cup
            coupon += cup
            print('현재 쿠폰이 %d개 있습니다.'%coupon)
        elif coffee2 >= cup and money < c2_price * cup:
            print('금액이 부족합니다. 돈을 반환합니다.')
            continue
            
    elif num == 3:
        print('카페모카를 선택하셨습니다.')
        cup = int(input('몇 잔 주문하시겠습니까?'))
        if cup > coffee3:
            print('죄송합니다. 주문량에 비해 카페모카가 부족합니다.')
            print('현재 주문 가능한 수량은 %d잔 입니다.' %coffee3, '다시 입력해주세요.')
            cup = int(input('몇 잔 주문하시겠습니까?'))
        print('결제하실 금액은',c3_price * cup, '원 입니다.')
        money = int(input('돈을 입력하세요~'))
        if coffee3 >= cup and money >= c3_price * cup:
            print('카페모카가 나왔습니다. 거스름돈은 ',money - c3_price*cup,'원 입니다.')
            print('쿠폰이 %d개가 발행되었습니다. 20개를 모으면 한잔 무료입니다.'%cup)
            coffee3 -= cup
            coupon += cup
            print('현재 쿠폰이 %d개 있습니다.'%coupon)
        elif coffee3 >= cup and money < c3_price * cup:
            print('금액이 부족합니다.돈을 반환합니다.')
            continue
            
    else:
        print('메뉴가 없습니다.')
        continue
반응형