공부가 다 비슷하겠지만 특히나 수학이나 코딩은 설명을 들을 때는 다 할 수 있을 것 같으나 막상 혼자 하려고 하면 잘 안 되는 경우가 많습니다. 대강의 윤곽은 잡고 있으나 문제는 디테일이죠. 혼자서 여러 기본적인 연습문제를 풀면서 기본기를 탄탄히 하는 것은 비단 코딩뿐만 아니라 대다수 공부에 적용되는 일이라고 생각됩니다. 아래의 기본기 문제를 풀면서 배웠던 내용들을 몸에 익히는 시간을 갖도록 하겠습니다.
파이썬 기본 실력 늘리기 문제
오류 수정 연습
출력 |
---|
Age doesn't matter! |
print("Age doesn't matter!')
정상적으로 실행되도록 수정하기
출력 |
---|
age는 19살 입니다. |
age = 19
if age = 19:
print("age는 19살 입니다.")
스왑(swap)
x와 y를 서로 바꿔서(swap) x가 "Apple_Iphone", y가 14가 되도록 만들기
출력 |
---|
("Apple_Iphone", 14) |
x, y = 14, "Apple_Iphone"
x, y # 결과확인
100보다 큰 숫자만
90부터 110까지의 정수로 리스트를 만들고 리스트에서 100 보다 큰 숫자만 골라서 출력.
출력 |
---|
my_lilst = [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110] |
100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110 |
my_list = []
제곱의 합
for문을 이용해서 1부터 100까지 숫자들의 제곱의 합을 구하기.
$1^2 + 2^2 + \cdots + 100^2$
출력 |
---|
338350 |
소수 판별
1 이상의 정수를 입력받아서 소수(prime number)인지 확인하는 프로그램을 만들기
아래의 입출력 표를 참고해서 소수가 아닐 경우에는 자기 자신을 제외한 나눌 수 있는 가장 큰 수도 같이 출력.
입력 | 출력 |
---|---|
1 | 1은 소수도 합성수도 아닙니다. |
2 | 2는 소수입니다. |
15 | 15은 5로 나눌 수 있습니다. |
91 | 91은 7로 나눌 수 있습니다. |
23 | 23은 소수입니다. |
힌트
- 1과 자기 자신으로만 나누어 떨어지는 숫자를 소수(prime number). 예를 들어서 10은 2 곱하기 5이기 때문에 소수가 아닙니다. 5나 7은 소수입니다.
- 입력받은 숫자가 1일 경우에는 별도의
if
문으로 처리해서 for문을 거치지 않게 할 것 - 가장 단순한 방법은 하나씩 나눠보고 나머지가 0인지를 검사하는 것이겠지요. 예를 들어서 입력이 35라면 2로 나눠보고 3으로 나눠보고 ... 5로 나눴을 때 나머지가 0이니까 검사를 중단하면 됨.
else
는if
와도 사용될 수 있고for
와도 사용될 수 있는데 들여쓰기가 같은for
나if
와 함께 사용.
num = int(input("자연수를 입력해주세요:"))
간단 계산기
숫자, 연산자, 숫자를 순서대로 별도의 input() 함수로 입력받고 계산 결과를 출력하는 프로그램을 만들기
입력 | 출력 |
---|---|
11 + 5 | 11 + 5 = 16 |
93 - 18 | 93 - 18 = 75 |
3 * 5 | 3 * 5 = 15 |
20 / 5 | 20 / 5 = 4.0 |
# input() 함수를 3번 사용합니다.
first_number = int(input("첫 번째 숫자를 입력해주세요:"))
operator = input("연산자를 입력해주세요:")
second_number = int(input("두 번째 숫자를 입력해주세요:"))
eval()
함수와 표현식
문자열에 계산 가능한 식을 넣으면 그 값을 계산해주는 편리한 함수입니다. 예를 들어서 eval("1 + 10")
을 실행시키면 11이 됩니다. eval()
함수를 이용해서 계산 식을 입력하면 그 결과가 출력되는 프로그램을 만들기.
입력 | 출력 |
---|---|
1+10 | 11 |
100-5 | 95 |
3*5 | 15 |
12/4 | 3.0 |
(1+2)*3 | 9 |
user_input = input("계산식을 입력해주세요:")
eval() 함수와 시퀀스
여러 개의 숫자를 컴마로 구분해서 입력받고 그 숫자들의 합을 구하기.
입력 | 출력 |
---|---|
1, 2, 3 | 6 |
3, 2, 1, 8, 6 | 20 |
7 | 오류 |
7, | 7 |
참고로 1 2 3
과 같이 빈칸만으로 구분해서 입력하면 오류가 발생.
BMI 계산기
키와 몸무게를 입력받아서 BMI 수치와 비만 정도를 알려주는 프로그램을 만들기. 키를 입력받을 때는 cm 단위로 입력받은 후에 다시 미터 단위로 변환해서 계산에 사용.
$BMI = 몸무게 / (키 * 키)$
문제를 단순화하기 위하여 BMI 25 이상은 비만, 18 미만은 저체중, 그 외에는 정상으로 판별
입력 | 출력 |
---|---|
키178몸무게80 | BMI 수치는 25.25 입니다. 비만 |
키164몸무게48 | BMI 수치는 17.85 입니다. 저체중 |
키170몸무게60 | BMI 수치는 20.76 입니다. 정상 |
BMI는 소수점 아래 2자리만 출력
아싸, 오예, 아싸라비야
1에서 20까지의 정수에 대해서 3의 배수이면 "아싸"를, 5의 배수이면 "오예"를, 3의 배수이면서 5의 배수라면 "아싸라비야"를 출력합니다.
실행 예시
1 2 "아싸" 4 "오예" "아싸" 7 8 "아싸" "오예" 11 "아싸" 13 14 "아싸라비야" 16 17 "아싸" 19 "오예"
369 게임
1에서 20까지의 정수에 대해서 끝자리 숫자가 3이나 6이나 9라면 "짝"을 출력하고 그렇지 않다면 그 숫자를 출력합니다.
1 2 짝 4 5 짝 7 8 짝 10 11 12 짝 14 15 짝 17 18 짝 20
자연수만 입력받기
사용자가 input() 함수로 자연수를 입력할 때까지 반복해서 입력을 받도록 해봅시다. 자연수는 1, 2, 3,... 같이 1 이상의 양의 정수입니다.
실행 예시
자연수를 입력해주세요: 0
자연수가 아닙니다.
자연수를 입력해주세요: hello
자연수가 아닙니다.
자연수를 입력해주세요: a123
자연수가 아닙니다.
자연수를 입력해주세요: -100
자연수가 아닙니다.
자연수를 입력해주세요: 1234
자연수입니다.
힌트
isnumeric()
메써드 사용:=
연산자 사용 (파이썬 3.8 이상인지 확인)
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
'수학과 코딩' 카테고리의 다른 글
파이썬(python) 반복문(for), 문자열 포멧(format) 트리 만들기 (0) | 2022.08.01 |
---|---|
파이썬(python) 반복문(for, whole), eval, isnumeric, if 등 사용에 관한 문제 풀이 (0) | 2022.08.01 |
파이썬[python] 반복문[for, while] 안에서 반복문 사용하기 (0) | 2022.07.30 |
파이썬 python 프로그램 흐름 제어(flow control) 반복문(for) (0) | 2022.07.29 |
파이썬(python) 조건문(if.elif, else) 사용 방법 정리 (0) | 2022.07.29 |
댓글