파이썬 공부 3

ysk1230·2022년 9월 10일

PYTHON

목록 보기
3/7

#5-1~#5-6

1. 리스트 []

지하철 칸별로 10,20,30명

subway= [10, 20, 30]
print(subway)

subway = ["유재석", '박명수', '조세호']
print(subway)

print(subway.index('조세호')) # 조세호씨가 몇번째 칸에 타고 있는가

subway.append('하하') # 하하씨가 다음 정류장에서 다음칸에 탐
print(subway)

subway.insert(1, '정형돈') # 정형돈씨가 유재석과 박명수 사이에 탐
print(subway)

지하철에 있는 사람을 한명씩 뒤에서 꺼냄

subway.pop()
print(subway)
subway.pop()
print(subway)
subway.pop()
print(subway)

같은 이름의 사람이 몇명있는지 확인

subway.append('유재석')
print(subway)
print(subway.count('유재석'))

정렬도 가능

num_list = [5,2,3,4,1]
num_list.sort()
print(num_list)

뒤집기도 가능

num_list.reverse
print(num_list)

모두 지우기

num_list.clear()
print(num_list)

다양한 자료형 함께 사용

mix_list=['조세호', 20, True]
print(mix_list)

리스트 확장

num_list.extend(mix_list)
print(num_list)

2. 사전

cabinet = {3: "유재석", 100: "김태호"}

print(cabinet[3])
print(cabinet[100])
print(cabinet.get(3))
print(cabinet[5]) # 없는건 오류남

print(cabinet.get(5)) # 없는건 None으로 출력함
print(cabinet.get(5,"사용가능")) # 없는건 None으로 출력함
print(3 in cabinet) #true
print(5 in cabinet) #false

cabinet = {"a-3": "유재석","b-100": "김태호"}

print(cabinet["a-3"])
print(cabinet["b-100"])
print(cabinet)

cabinet["a-3"]='김종국' # 대체 가능
cabinet["c-20"]='조세호' # 추가 가능

print(cabinet)

간 손님

del cabinet["a-3"]
print(cabinet)

key 들만 출력

print(cabinet.keys())

value 들만 출력

print(cabinet.values())

key value 쌍으로 출력

print(cabinet.items())

다 지우기

cabinet.clear()
print(cabinet)

3. 튜플

menu = ("돈까스", "치즈까스")
print(menu[0])
print(menu[1]) # 튜플은 add 불가

일반적인 변수 선언방식

name = '김종국'
age = 20
hobby = '코딩'
print(name,age,hobby)

튜플로 나열해보기

(name,age,hobby) = ("김종국",20,'코딩')
print(name,age,hobby)

4.set(집합)

중복안됨, 순서없음

my_set = {1,2,3,3,3}
print(my_set)

java = {"유재석","김태호","양세형"}
python = set(["유재석","박명수"])

교집합(java와 python을 모두 할 수 있는 개발자)

print(java & python)
print(java.intersection(python))

합집합(jave도 할 수 있고 python도 할 수 있는 개발자)

print(java | python)
print(java.union(python))

차집합(java는 할수있지만 python은 할 수없는 개발자)

print(java - python)
print(java.difference(python))

python을 할 줄 아는 사람이 늘어남

python.add("김태호")
print(python)

java를 잊엊다

java.remove("김태호")
print(java)

5. 자료구조변경

menu = {"커피","우유", "주스"}
print(menu,type(menu))

menu = list(menu)
print(menu,type(menu))

menu = tuple(menu)
print(menu,type(menu))

menu = set(menu)
print(menu,type(menu))

퀴즈

당신의 학교에서는 파이썬 코딩 대회릘 주최합니다. 참석률을 높이기 위해 댓글이벤트를 진행하기로 했습니다.
댓글 작성자들중에 추첨을 통해 1명은 치킨, 3명은 커피쿠폰을 받게 됩니다.

추첨프로그램을 작성하시오

조건1. 편의상 댓글은 20명이 작성, 아이디는 1~20이라고 가정

조건2. 댓글 내용과 상관없이 무작위로 추첨하되 중복불가

조건3. random 모듈의 shuffle 과 sample 을 활용

(출력예제)

--- 당첨자발표---
치킨 당첨자 : 1
커피 당첨자 : [2,3,4]
--- 축하합니다 ---

(활용예제)

from random import *
lst = [1,2,3,4,5]
print(lst)
shuffle(lst)
print(lst)
print(sample(lst,1))

내가 푼 방식

from random import *
users = range(1,21) #1부터 20까지 생성
users = list(users) # range형태를 list로
shuffle(users)
winners = sample(users,4) # 4명중 1명은 치킨 3명은 커피
print('치킨당첨자 : {0}'.format(winners[0]))
print('커피당첨자 : {0}'.format(winners[1:]))

0개의 댓글