[Python] 입문용 과제 정리
1. 기본 변수 할당과 산술 연산
- 변수 x에 값 10을 할당하고, x를 2배로 곱한 후 5를 뺀 값을 출력하세요.
x = 10
x = x * 2 - 5
print(x)
`
# 결과값
15
2. 문자열 조작
- 어떤 데이터를 분석하여 평균과 표준편차를 각각 mean, std 변수에 담았다고 가정해 보겠습니다.
- 포맷팅을 활용하여 "A데이터의 평균은 30, 표준편차는 10 입니다"를 출력하세요.
# 포맷팅 하는 방법!
mean = 30
std = 10
# f'string 활용 방법
print(f'A데이터의 평균은 {mean}, 표준편차는 {std} 입니다')
'
# .format() 활용 방법
print('A데이터의 평균은 {}, 표준편차는 {} 입니다'.format(mean, std))
'
# % 활용 방법
print('A데이터의 평균은 %s, 표준편차는 %s 입니다' %(mean, std))
'
# 결과값
A데이터의 평균은 30, 표준편차는 10 입니다
A데이터의 평균은 30, 표준편차는 10 입니다
A데이터의 평균은 30, 표준편차는 10 입니다
3. 리스트
- 인덱싱 혹은 슬라이싱 기능을 이용하세요.
- 아래 리스트에서 앞에서부터 5번째 숫자까지는 front라는 변수에 담고
- 나머지 뒤에 있는 1개 숫자는 back이라는 변수에 담고 각각 출력하세요.
numbers = [1, 3, 5, 7, 9, 11]
`
# 리스트에서 슬라이싱 하는 방법!
`
front = numbers[:5] # 슬라이싱을 활용
back = numbers[-1] # 인덱싱을 활용
`
print(front)
print(back)
`
# 결과값
[1, 3, 5, 7, 9]
11
4. 딕셔너리
- Math, English, Physics를 각각 key로 보고, 해당 열의 값들을 value로 되어 있는 딕셔너리를 만들고 출력하세요.
# 하나의 key 값에 values 값을 넣는 방법
`
t_score = {}
`
t_score['Math'] = [85,80,95]
t_score['English'] = [92,98,56]
t_score['Physics'] = [78,55,38]
`
print(t_score)
`
# 딕셔너리에 한번에 key : value 로 값을 넣는 방법
`
t_dict = {'Math':[85,80,95],'English':[92,98,56],'Physics':[78,55,38]}
print(t_dict)
`
# 결과값
{'Math': [85, 80, 95], 'English': [92, 98, 56], 'Physics': [78, 55, 38]}
{'Math': [85, 80, 95], 'English': [92, 98, 56], 'Physics': [78, 55, 38]}
5. 반복문
- 주어진 리스트의 모든 요소에 대해 제곱한 값을 출력하는 for 루프를 작성하세요.
numbers = [1, 2, 3, 4, 5]
`
# for 문 기본구문 작성법
`
for i in numbers :
print(i ** 2)
`
# 결과값
1
9
25
49
81
121
6. 조건문
- 정수가 주어졌을 때 짝수면 "Even"을 출력하고 홀수면 "Odd"를 출력하는 프로그램을 작성하세요.
number = 30
`
# 짝수를 구하는 메커니즘 확인하기!
`
if number % 2 == 0 :
print('Even')
else :
print('Odd')
`
# 결과값
Even
7. 조건문 & 반복문
- 리스트에 있는 요소들을 하나씩 꺼내서 그 값이 양수이면 "Positive", 음수이면 "Negative", 0이면 "Zero"를 출력하는 프로그램을 작성하세요.
num_list = [1,30, -5, 0, 11, -100]
`
# 조건문 & 반복문 작동방법 확인
`
for i in num_list :
if i > 0 :
print('Positive')
elif i < 0 :
print('Negative')
else :
print('Zero')
`
# 결과값
Positive
Positive
Negative
Zero
Positive
Negative
8. 함수정의
- 리스트를 받아서 리스트에 있는 값들로 평균을 계산하여 평균값을 반환하는 함수를 정의하세요.
num_list = [1,30, -5, 0, 11, -100]
`
# 변수를 하나씩 선언하고 진행하는 방법
`
def mean_list(some_list) :
cnt_num = len(num_list)
sum_num = sum(num_list)
avg = sum_num / cnt_num
return avg
`
# return에 바로 계산하는 방법
`
def mean_list2(some_list) :
return sum(some_list)/len(some_list)
`
print(mean_list(num_list))
print(mean_list2(num_list))
`
# 결과값
-10.5
-10.5
9. 리스트 응용
- 리스트에서 5보다 큰 수들만 골라서 새로운 리스트에 담고 새로운 리스트를 출력하세요
numbers = [1, 3, 5, 7, 9, 11]
`
t_list = []
`
# 반복문 & 조건문을 활용
`
for i in numbers :
if i > 5 :
t_list.append(i)
`
# 리스트 컨프리헨션 활용 가능
`
new_list = [num for num in numbers if num > 5]
`
print(t_list)
print(new_list)
`
# 결과값
[7, 9, 11]
[7, 9, 11]
10. 파이썬 에러 확인
- 다음 계산에서 에러가 발생합니다. 왜 에러가 뜨는지 기술하고 이를 해결하기 위한 방법을 제시하세요.
a = 10
b = 0
print(a/b)
`
# 에러가 발생하는 이유 : 나누기의 분모가 0으로 나누기를 진행할 수 없기에 ZeroDivisionError 발생
`
# try...except를 활용한 방법
try :
print(a / b)
except ZeroDivisionError : # 에러명을 작성하면 해당 에러에서만 아래 단계를 실행
print('Cannot division by zero')
`
# if문을 활용한 방법
`
if b == 0 :
print('Cannot division by zero')
else :
print(a / b)
`
# 결과값
Cannot division by zero
Cannot division by zero