<숫자>
숫자에는
정수형 : 소수점 없는 숫자 (710, 906)
실수형 : 소수점이 있는 숫자 (7.28, 1.64)
이 있습니다.
- 숫자 연산자
숫자 연산자에는
+ : 덧셈
- : 뺄셈
* : 곱셈
** : 제
/ : 나눗셈 (++ 정수 나누기 연산자 // : 숫자를 나누고 소수점 이하의 자릿수를 뗀 후 정수만 남기는 연산)
% : 나머지 연산
- 연산자 우선 순위
연산자는 우리의 연산과 동일하게 *과 /가 우선 순위이고 +와 -를 나중에 연산합니다. 헷갈릴 때는 ( )로 묶으면 ( ) 안의 연산이 우선 순위가 되기 때문에 쉽게 연산할 수 있습니다~
** 당연히 숫자와 문자열은 연산이 불가능!! **
chapter 2-2 확인 문제
1. 오른쪽의 예시를 보고 숫자 자료형을 나타내는 단어를 써 보세요.
--> 정수형(int), 실수형(float)
2. 숫자에 적용할 수 있는 연산자입니다. 의미를 보고 왼쪽 연산자 항목에 기호를 써 보세요.
--> +, -, *, /, //, %, **
3. 다음 프로그램의 실행 결과를 예측해 보세요.
# 기본적인 연산
>> 15 + 4 = 19
>> 15 - 4 = 11
>> 15 * 4 = 60
>> 15 / 4 = 3.75
4. 3462를 17로 나누었을 때의 몫과 나머지를 구하는 프로그램입니다. 빈칸을 채워 완성해 보세요.
print("3462를 17로 나누었을 때의 몫과 나머지를 구하는 프로그램입니다. 빈칸을 채워 완성해 보세요.")
print("- 몫:", 3462/17)
print("- 나머지:", 3462%17)
5. 다음 코드의 실행 결과를 예측해 보세요.
>> 0
>> 4
<변수>
변수란 값을 저장할 때 사용하는 식별자입니다.
- 변수를 활용하는 방법
변수를 선언하는 방법 : 변수를 생성하는 것
변수에 값을 할당하는 방법 : 변수에 값을 넣는 것
변수를 참조하는 방법 : 변수에 넣어둔 값을 꺼내는 것
- 복합 대입 연산자
+= : 숫자 덧셈 후 변수에 대입
-= : 숫자 뺄셈 후 변수에 대입
*= : 숫자 곱셈 후 변수에 대입
**= : 숫자 제곱 후 변수에 대입
/= : 숫자를 나눈 몫을 변수에 대입
%= : 숫자를 나눈 나머지를 변수에 대입
** 문자열도 복합 대입 연산자 사용이 가능!!!! (+=, *=만 사용 가능) **
- 사용자 입력
사용자가 입력을 할 때는 input()을 사용합니다!!!
*** 변수 = input("입력받을 때 사용할 문장")
input()으로 입력받은 변수의 type은 숫자를 입력해도, 불을 입력해도 str이 나오게 됩니다!
그래서~ 이번에는 문자열을 숫자로 바꾸는 법에 대해서 알아봅시다~~
- 문자열을 숫자로 바꾸기
*** 새로운 변수 = int(바꿀 변수)
*** 새로운 변수 = float(바꿀 변수)
이것을 input에 응용을 하면~
** 숫자가 아닌 것을 int로 변환하려고 하면 오류 발생~
소수점이 있는 숫자를 int로 변환하려고 하면 오류 발생~ **
- 숫자를 문자열로 바꾸기
*** 새로운 변수 = str(바꿀 변수)
chapter 2-3 확인 문제
1. 다음은 변수에 값을 할당하기 위한 구문입니다. 빈칸에 알맞은 기호를 써 보세요.
--> 변수이름 = 값
2. 다음은 숫자에 적용할 수 있는 복합 대입 연산자입니다. 설명을 보고 왼쪽 연산자 항목에 기호를 써 보세요.
--> +=, -=, *=, /=, %=, **=
3. 문자열을 숫자로 변환하는 함수, 숫자를 문자열로 변환하는 함수입니다. 설명을 보고 알맞은 함수 이름을 넣어 보세요.
--> int(), float(), str()
4. 다음 코드는 inch 단위의 자료의 입력받아 cm 단위를 구하는 예제입니다. 빈칸에 알맞은 내용을 넣어 코드를 완성해 주세요. (1inch = 2.54cm)
str_input = input("숫자 입력> ")
num_input = float(str_input)
print()
print(num_input, "inch")
print((num_input * 2.54), "cm")
5. 원의 반지름을 입력받아 원의 둘레와 넓이를 구하는 코드입니다. 빈칸에 알맞은 내용을 넣어 코드를 완성해 주세요.
str_input = input("원의 반지름 입력> ")
num_input = int(str_input)
print()
print("반지름: ", num_input)
print("둘레: ", 2 * 3.14 * num_input)
print("넓이: ", 3.14 * num_input ** 2)
6. 프로그램을 실행했을 때 문자열 두 개를 입력받고 다음과 같이 출력하는 프로그램이 있다고 가정합니다. 굵은 글씨로 되어 있는 부분은 사용자 입력입니다.
a = input("문자열 입력> ")
b = input("문자열 입력> ")
print(a,b)
c = a
a = b
b = c
print(a,b)
- 문자열의 format() 함수
*** "{ }".format(대괄호 안에 넣을 내용)
** 반드시 { }의 개수와 format 속의 매개변수의 개수가 같아야한다!! 더 많으면 상관 X 더 적으면 오류 **
- format() 함수의 다양한 기능
정수
{:숫자d} : 숫자칸 만큼 민 다음 뒤에서부터 내용을 넣어줌
{:0숫자d} : 밀고 남은 빈 칸에 0을 넣어줌
{:+d} : 양수, 음수 기호를 표현
{: d} : 기호 공백
+ > 0 > 숫자
실수
{:숫자f} : 숫자칸 만큼 민 다음 뒤에서부터 내용을 넣어줌
{:0숫자f} : 밀고 남은 빈 칸에 0을 넣어줌
{:+f} : 양수, 음수 기호를 표현
{:숫자.숫자1f} : 숫자칸 만큼 민 다음 소수점은 숫자1만큼 표현
{:g} : 의미없는 소수점 제거
- 대소문자 바꾸기
대문자 : upper()
소문자 : lower()
*** 변수.upper() / 변수.lower()
- 문자열 양옆의 공백 제거 - strip()
*** 변수.strip() ***
- 문자열의 구성 요소 파악하기
isalnum() : 문자열이 알파벳 또는 숫자로 구성되어 있는지 확인
isalpha() : 문자열이 알파벳으로만 구성되어 있는지 확인
isidentifier() : 문자열이 식별자로 사용할 수 있는 것인지 확인
isdecimal() : 문자열이 정수로만 구성되어 있는지 확인
isdigit() : 문자열이 숫자로 인식될 수 있는지 확인
isspace() : 문자열이 공백으로만 구성되어 있는지 확인
islower() : 문자열이 소문자로만 구성되어 있는지 확인
isupper() : 문자열이 대문자로만 구성되어 있는지 확인
- 문자열 찾기
find() : 왼쪽부터 문자열 찾기
rfind() : 오른쪽부터 문자열 찾기
in 연산자 : 문자가 문자열에 들어있는지 확인
*** 문자 in 문자열
- 문자열 자르기 - split()
( ) 안에 있는 문자를 기준으로 문자열을 자름
*** 문자열.split("문자")
- f-문자열
*** f'문자열{표현식}문자열'
chapter 2-4 확인 문제
1. 다음 format() 함수 중에서 오류가 발생하는 경우를 골라 보세요.
--> ③
2. 함수와 그 기능을 연결해 보세요.
--> ①-ⓓ ②-ⓑ ③-ⓐ ④-ⓒ
3. 다음 코드의 빔칸을 채워서 실행 결과처럼 출력해 보세요.
a = input("> 1번쨰 숫자: ")
b = input("> 2번째 숫자: ")
print()
print("{} + {} = {}".format(int(a), int(b), int(a)+int(b)))
4. 다음 프로그램의 실행 결과를 예측해 보세요.
>> A 지점:HELLO
>> B 지점: hello
도전 문제!!!
1. 구의 부피와 겉넓이
a = int(input("구의 반지름을 입력해주세요: "))
print("= 구의 부피는 {}".format((a**3)*(4/3)*3.141592))
print("= 구의 겉넓이는 {}".format(4*3.141592*a**2))
2. 피타고라스의 정리
a = float(input("밑변의 길이를 입력해주세요: "))
b = float(input("높이의 길이를 입력해주세요: "))
print(f"= 빗변의 길이는 {(a**2 + b**2)**(1/2)}입니다.")
<조건문>
조건문에는 불(True와 False)만 들어갈 수 있습니다!!
불이 나오는 연산자로는
비교 연산자 : >, >=, <, <=, ==, !=
논리 연산자 : not , and, or
and | or | ||||
True | True | True | True | True | True |
True | False | False | True | False | True |
False | True | False | False | True | True |
False | False | False | False | False | False |
- 조건문 작성 방법
*** if 불:
True일 때 실행할 문장
++ 날짜/시간 활용
++ 짝수와 홀수 구분하기
chapter 3 확인 문제
1. 비교 연산자를 사용한 조건식입니다. 결과가 참이면 True를, 거짓이면 False를 적어 보세요.
--> False, True, False, True, True, False
2. 다음 세 개의 예제 중 "참입니다"를 출력하는 것은 몇 번 예제인가요?
--> 3번
3. 다음 상황들은 선택 조건으로 and 및 or 연산자를 적용하고 있습니다. 어떤 연산자가 사용 되었을까요? and 연산자라면 'a', or 연산자라면 'o'를 괄호 안에 적어 보세요.
--> and, and, or
4. 사용자로부터 숫자 두 개를 입력받고 첫 번째 입력받은 숫자가 큰지, 두 번째 입력받은 숫자가 큰지를 구하는 프로그램을 다음 빈칸을 채워 완성해 보세요.
a = int(input("> 1번째 숫자: "))
b = int(input("> 2번째 숫자: "))
if a>b:
print("처음 입력했던 {}가 {}보다 더 큽니다.".format(a, b))
if a<b:
print("두 번째로 입력했던 {}가 {}보다 더 큽니다.".format(b, a))
<if ~ else와 elif 구문>
- if ~ else 구문
if 조건문의 조건이 거짓일 때 else가 실행
*** if 조건식:
실행할 문장
else:
실행할 문장
- elif 구문
여러개의 조건을 연결해서 사용하는 구문
*** if 조건식:
실행할 문장
elif 조건식:
실행할 문장
...
(else:
실행할 문장)
chapter 3-2 확인 문제
1. 다음 코드의 실행 결과를 예측해 빈칸에 결괏값을 입력하세요. 아래의 코드는 모두 같고 입력 결과가 다른 경우입니다.
--> 12
--> 5
--> X
2. 다음 중첩 조건문에 논리 연산자를 적용해 하나의 if 조건문으로 만들어주세요.
if 10 < x < 20:
print("조건에 맞습니다.")
기본문제
3. 사용자에게 태어난 연도를 입력받아 띠를 출력하는 프로그램을 작성해 주세요. 작성 시 입력 받은 연도를 12로 나눈 나머지를 사용합니다. 나머지가 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11일 때 각각 원숭이, 닭, 개 , 돼지, 쥐, 소, 범, 토끼, 용, 뱀, 말, 양띠입니다.
str_input = input("태어난 해를 입력해주세요> ")
birth_year = int(str_input)
if birth_year % 12 == 0:
print("원숭이 띠입니다.")
elif birth_year % 12 == 1:
print("닭 띠입니다.")
elif birth_year % 12 == 2:
print("개 띠입니다.")
elif birth_year % 12 == 3:
print("돼지 띠입니다.")
elif birth_year % 12 == 4:
print("쥐 띠입니다.")
elif birth_year % 12 == 5:
print("소 띠입니다.")
elif birth_year % 12 == 6:
print("범 띠입니다.")
elif birth_year % 12 == 7:
print("토끼 띠입니다.")
elif birth_year % 12 == 8:
print("용 띠입니다.")
elif birth_year % 12 == 9:
print("뱀 띠입니다.")
elif birth_year % 12 == 10:
print("말 띠입니다.")
elif birth_year % 12 == 11:
print("양 띠입니다.")
도전 문제!!!!!!!
1. 조건문을 사용해서 한 마디 대화를 나눌 수 있는 프로그램을 만들어 보세요. 간단하게 "안녕" 또는 "안녕하세요"를 입력하면 프로그램이 "안녕하세요" 정도의 인사를 할 수 있게 해 보고, "지금 몇 시야?" 또는 "지금 몇 시예요?"처럼 시간을 물어보면 시간을 응답하게 구현해 보세요.
import datetime
now = datetime.datetime.now()
a = input("입력: ")
if a == "안녕" or a == "안녕하세요":
print("안녕하세요")
elif a == "지금 몇 시야?" or a == "지금 몇 시예요?":
print(f'지금은 {now.hour}시입니다.')
else:
print(a)
2. 본문에서 홀수 짝수를 구분하는 방법에 대해 배웠습니다. 이를 응용해서 숫자를 입력하면 그 숫자가 2, 3, 4, 5로 나누어 떨어지는지 확인하고 출력하는 프로그램을 구현해 보세요.
a = int(input("정수를 입력해주세요: "))
if a%2 == 0:
print("{}는 2로 나누어 떨어지는 숫자입니다.".format(a))
else:
print("{}는 2로 나누어 떨어지는 숫자가 아닙니다.".format(a))
if a%3 == 0:
print("{}는 3으로 나누어 떨어지는 숫자입니다.".format(a))
else:
print("{}는 3으로 나누어 떨어지는 숫자가 아닙니다.".format(a))
if a%4 == 0:
print("{}는 4로 나누어 떨어지는 숫자입니다.".format(a))
else:
print("{}는 4로 나누어 떨어지는 숫자가 아닙니다.".format(a))
if a%5 == 0:
print("{}는 5로 나누어 떨어지는 숫자입니다.".format(a))
else:
print("{}는 5로 나누어 떨어지는 숫자가 아닙니다.".format(a))
'혼공파' 카테고리의 다른 글
혼공파 6주차..! (0) | 2023.08.16 |
---|---|
혼공파 5주차!!! 😋 (0) | 2023.08.06 |
혼공파 4주차~😁 (0) | 2023.07.25 |
혼공파 3주~~🫡🫡 (0) | 2023.07.17 |
혼공파 1주차~🤓 (0) | 2023.07.10 |