정보처리기사
프로그래밍-파이썬
김귤🐵
2023. 7. 5. 16:10
파이썬은 매 회차 1문제 씩 출제되고 있다.
간단한 출력 문제가 나오며, 다음의 범위에서 문제가 나왔다.
- for문 range()
- list
- set
1.for문,range()
1️⃣for문
기본 구조
for 변수 in 리스트(또는 튜플, 문자열):
수행할_문장1
수행할_문장2
...
리스트,튜플,문자열의 첫 번째 요소부터 마지막 요소까지 차례로 대입되어 수행된다.
2️⃣range()
range함수는 연속된 숫자를 생성하는데 사용되는 함수다.
//기본구조
range(start,stop,step)
- start : 숫자의 시작값을 지정한다.
- stop : 숫자의 종료값을 지정한다.
- step : 숫자 간격을 지정한다. 기본값은 1
range함수는 실제로 숫자를 생성하는게 아니라 숫자를 나타내는 범위 객체를 반환한다.
함수로 생성된 숫자를 사용하기 위해서는 list함수나 반복문등을 활용하여 범위객체를 다른 자료구조로 변환해야한다.
# 0부터 9까지의 숫자를 생성
numbers = list(range(10))
print(numbers) # 출력: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 1부터 10까지의 숫자 중에서 홀수만 생성
odd_numbers = list(range(1, 11, 2))
print(odd_numbers) # 출력: [1, 3, 5, 7, 9]
숫자의 종료값은 미만값을 나타낸다. 그래서 range(10)은 10미만인 9까지 반환하게 된다.
기출문제
2021년 2회 기출문제
a = 100
result = 0
for i in range(1,3);
result = a >> i
result = result + 1
pirnt(result)
2.list
리스트 작성방법
리스트를 만들기 때는 대괄호([])로 만들어 준다.
리스트명 = [요소1, 요소2, 요소3, ...]
리스트 기출 문제
리스트에서는 출력 형태를 정확하게 구분해서 작성하도록 해야한다.
인덱스로 가져온것이 아닌 리스트 자체를 출력하게 된다면 반드시 대괄호([])까지 포함해서 출력해야 한다.
1.2020년 3회
TestList = [1,2,3,4,5]
TestList = list(map(lambda num : num + 100, TestList)))
print(TestList)
2.2021년 1회
class good :
li = ["seoul", "kyeonggi","inchon","daejeon","daegu","pusan"]
g = good()
str01 = ''
for i in g.li:
str01 = str01 + i[0]
print(str01)
3.2020년 4회
lol = [[1,2,3],[4,5],[6,7,8,9]]
print(lol[0])
print(lol[2][1])
for sub in lol:
for item in sub:
print(item, end = '')
print()
3.집합 자료형(set)
집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다.
기본 구조
a = set(["한국","일본","중국"]
a = {"한국","일본","중국"}
set키워드안에 리스트를 넣어 만들거나, 중괄호{} 를 사용하여 생성 할 수 있다.
중복을 허용하지 않고, 순서가 없는 자료형이다.
집합 자료형에서 사용할 수 있는 함수
1️⃣add
이미 만들어진 set자료형에 값을 추가
s1 = set([1, 2, 3])
s1.add(4)
s1
{1, 2, 3, 4}
2️⃣update
여러 개의 값을 한꺼번에 추가
s1 = set([1, 2, 3])
s1.update([4, 5, 6])
s1
{1, 2, 3, 4, 5, 6}
3️⃣remove
특정 값을 제거
s1 = set([1, 2, 3])
s1.remove(2)
s1
{1, 3}
기출문제
1. 2023년1회, 2020년 2회
a={'일본','중국','한국'}
a.add('베트남')
a.add('중국')
a.remove('일본')
a.update(['홍콩','한국','태국'])
print(a)