1. 변수 할당 및 출력
- name = "John"
- age = 30
- 다음과 같이 변수 name과 age를 할당하고,
- 이를 이용하여 "제 이름은 [name]이고, 나이는 [age]살 입니다."
- 라는 문자열을 출력하는 코드를 작성.
# 출력 방법 print() 함수 사용
# 예1) print("이름",name) => "이름 John"
# 예2) print(f"이름 {name}") => 위와 동일
# 1주차 (1회) 1번> 변수 할당 및 출력
name = "John"
age = 30
print("제 이름은", name, f"이고, 나이는 {age}살 입니다.")
제 이름은 John 이고, 나이는 30살 입니다.
2. 데이터 타입 변환
- age_str = "25"
- 다음과 같은 문자열이 주어졌을 때,
- 이를 정수로 변환하여 출력하는 코드를 작성.
# 1주차 (1회) 2번> 데이터 타입 변환
age_str = "25"
print(int(age_str))
25
3. 리스트와 슬라이싱
- fruits = ["apple", "banana", "cherry", "date", "elderberry"]
- 다음과 같은 리스트 fruits가 주어졌을 때,
- 인덱스 1부터 3까지의 요소를 슬라이싱하여 새로운 리스트 sliced_fruits에 할당하고, 이를 출력하는 코드를 작성.
# 1주차 (1회) 3번> 리스트와 슬라이싱
fruits = ["apple", "banana", "cherry", "date", "elderberry"]
sliced_fruits = fruits[:3]
print(sliced_fruits)
['apple', 'banana', 'cherry']
4. [ 심화 ] ( 선택 )
- 파이썬을 사용하여 사용자로부터 숫자를 입력 받아 해당 숫자가 짝수인지 홀수인지 판별하는 프로그램을 작성해주세요.
[ 출력예제 ]
- 2은(는) 짝수입니다.
- 3은(는) 홀수입니다.
# 1주차 (1회) 4번> 심화
number = int(input())
if (number % 2 == 0):
print(f"{number}은(는) 짝수입니다.")
else:
print(number, "은(는) 홀수입니다.", sep="")
>> 2
2은(는) 짝수입니다.
>> 3
3은(는) 홀수입니다.
1. if문 활용하기
score = 70
다음과 같이 변수 score에 학생의 점수가 저장되어 있습니다.
이 점수가 60 이상인 경우 "합격입니다!"라는 문자열을 출력하고,
그렇지 않은 경우 "불합격입니다."라는 문자열을 출력하는 코드를 작성해보세요.
# 1주차 (2회) 1번> if문 활용하기
score = 70
if (score >= 60):
print("합격입니다!")
else:
print("불합격입니다.")
합격입니다!
2. if-elif-else 구조 활용하기
age = 22
다음과 같이 변수 age에 나이가 저장되어 있습니다.
이 나이에 따라 "어린이", "청소년", "성인" 등의 문자열을 출력하는 코드를 작성해보세요.
# 1주차 (2회) 2번> if-elif-else 구조 활용하기
age = 22
if (age < 12):
print("어린이")
elif (age < 20):
print("청소년")
else:
print("성인")
성인
3. 중첩 if문 활용하기
score = 85
attendance = "출석"
다음과 같이 변수 score와 attendance에 각각 학생의 점수와 출석 여부가 저장되어 있습니다.
학생의 점수가 80 이상이고 출석 여부가 "출석"인 경우 "수료"라는 문자열을 출력하고, 그렇지 않은 경우 "재수강"이라는 문자열을 출력하는 코드를 작성해보세요.
# 1주차 (2회) 3번> 중첩 if문 활용하기
score = 85
attendance = "출석"
if (score >= 80):
if (attendance == "출석"):
print("수료")
exit(0)
print("재수강")
수료
4. [ 심화 ] (선택)
사용자로부터 연도와 월을 입력받아, 해당 월의 일수를 출력하세요.
예제출력 )
- 2023년 4월의 일수는 30일 입니다.
윤년을 고려하세요.
(윤년은 4로 나누어 떨어지는 해로, 100으로 나누어 떨어지지만 400으로 나누어 떨어지지 않는 해는 윤년이 아닙니다.)
# 1주차 (2회) 4번> 심화
year, month = map(int, input().split(" "))
month_day = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if ((year % 400 == 0) or (year % 4 == 0 and year % 100 != 0)):
month_day[1] += 1
print(f"{year}년 {month}월의 일수는 {month_day[month-1]}일 입니다.")
>> 2023 4
2023년 4월의 일수는 30일 입니다.
>> 2024 2
2024년 2월의 일수는 29일 입니다.
1. for문 활용하기
numbers = [1, 3, 5, 7, 9]
다음과 같이 리스트 numbers에 숫자가 저장되어 있습니다.
이 리스트의 모든 요소를 더한 값을 출력하는 코드를 작성해보세요.
# 2주차 (1회) 1번> for문 활용하기
numbers = [1, 3, 5, 7, 9]
sum = 0
for i in range(int(len(numbers))):
sum += numbers[i-1]
print(sum)
25
2. while문 활용하기
count = 0
다음과 같이 변수 count에 숫자가 저장되어 있습니다.
이 숫자가 5가 될 때까지 1씩 증가시키면서, 매번 현재의 숫자를 출력하는 코드를 작성해보세요.
# 2주차 (1회) 2번> while문 활용하기
count = 0
while (count < 5):
count += 1
print(count)
1
2
3
4
5
3. 중첩 반복문 활용하기
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
다음과 같이 변수 matrix에 2차원 리스트가 저장되어 있습니다.
이 리스트의 모든 요소를 한 줄에 하나씩 출력하는 코드를 작성해보세요.
# 2주차 (1회) 3번> 중첩 반복문 활용하기
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for i in range(len(matrix)):
for j in range(len(matrix[i])):
print(matrix[i][j], end=" ")
print()
1 2 3
4 5 6
7 8 9
4. 피라미드를 출력
사용자로부터 피라미드의 높이를 출력받아
피라미를 출력하세요.
예) 피라미드 높이 : 3
*
***
*****
# 2주차 (1회) 4번> 피라미드를 출력
h = int(input("피라미드의 높이 : "))
for i in range(h+1):
for j in range(h-i):
print(" ", end="")
for k in range(2*i-1):
print("*", end="")
print()
>> 피라미드의 높이 : 3
*
***
*****
5. [ 심화 ] - (선택)
사용자로부터 다이아몬드의 크기를 입력받아 입력받은 크기만큼의 다이아몬드를 출력하는 코드를 작성하시오.
(홀수만 입력으로 받고, 짝수의 경우 종료 또는 재입력을 받도록 합니다)
예제 입력, 출력
입력 : 다이아몬드 크기 : 5
출력)
*
***
*****
***
*
# 2주차 (1회) 5번> 심화
while (1):
size = int(input("다이아몬드 크기 : "))
if (size % 2 == 0):
print("홀수를 입력해주세요")
else:
break
for i in range(int(int(size/2)+1)):
for j in range(int(size/2)-i):
print(" ", end="")
for k in range(i*2+1):
print("*", end="")
print()
cnt = int(size/2)
for a in range(int(size/2)):
for b in range(int(size/2)-cnt+1):
print(" ", end="")
for c in range(2*cnt-1):
print("*", end="")
cnt -= 1
print()
>> 다이아몬드 크기 : 5
*
***
*****
***
*
1. 리스트에서 가장 큰 수와 가장 작은 수 찾기
min_max(numbers)함수를 선언하여 입력받은 리스트에서 가장 큰 수와 가장 작은수를 반환 하고
print함수를 이용해 출력하시오, 리스트값은 코드 내에서 임의로 정의한다.
출력 예제(입력 : [0, 30, 50, 100] )
- 최소값 : 0, 최대값: 100
HINT. 파이썬은 return을 복수개로 할 수 있다.
ex)
min_max(list):
return min, max
min, max = min_max(list)
# 2주차 (2회) 1번> 리스트에서 가장 큰 수와 가장 작은 수 찾기
def min_max(numbers):
return min(numbers), max(numbers)
lst = [0, 30, 50, 100]
minn, maxx = min_max(lst)
print(f"최소값: {minn}, 최대값: {maxx}")
최소값: 0, 최대값: 100
2. 소수 판별하기
is_prime(n) 함수를 선언하여 소수를 판별하시오,
n은 사용자로부터 입력 받도록 한다.
#소수는 '1과 자기 자신 외의 약수를 가지지 않는 1보다 큰 자연수'
출력은 True, False로 합니다.
# 2주차 (2회) 2번> 소수 판별하기
def is_prime(n):
for i in range(2, n):
if (n % i == 0):
return False
else:
return True
num = int(input("숫자를 입력해주세요: "))
print(is_prime(num))
>> 숫자를 입력해주세요: 7
True
>> 숫자를 입력해주세요: 4
False
3. [ 심화 ] 피보나치 수열의 n 번째 항 구하기
fibonacci(n)을 선언하여 n 번째 항의 값을 구하시오
n은 사용자로부터 입력 받도록 한다.
출력 예제)
- n번째 항은 m 입니다.
실제 출력)
- 3번째 항은 2 입니다.
# 2주차 (2회) [심화]> 피보나치 수열의 n 번째 항 구하기
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n - 1) + fibonacci(n - 2)
num = int(input("정수를 입력하세요: "))
print(f"{num}번째 항은 {fibonacci(num)} 입니다.")
정수를 입력하세요: 3
3번째 항은 2 입니다.
정수를 입력하세요: 6
6번째 항은 8 입니다.
'동아리 활동' 카테고리의 다른 글
System Hacking : x86 어셈블리 Quiz 풀이 (0) | 2023.05.02 |
---|---|
System Hacking : x86 어셈블리 (2) (0) | 2023.05.01 |
System Hacking : x86 어셈블리 (1) (0) | 2023.05.01 |
System Hacking : 컴퓨터 아키텍처 Quiz 풀이 (0) | 2023.04.29 |
System Hacking : 컴퓨터 아키텍처 (0) | 2023.04.28 |