Python 기초부터 배워보기~(자료형 연산)
a = 3이라면 수학적으로 등호로 표현이 아니고
a라는 상자에 3을 넣는 거 같은 느낌
a = a + 1 이라면 a = 4가 되는 느낌
print(a)를 하면 4가 나오고
print(type(a))를 하게 되면 type이 어떤 건지 알려준다. 4는 정수이기 때문에 class 'int'가 표시된다.
문자열 자료형
a[ : ]
a [ : : ]
첫 번째는 이상 두 번째는 미만 세 번째는 간격을 뜻한다.
첫 번째가 비어있으면 처음부터 두 번째가 비어있으면 끝까지를 뜻한다.
문자열 포매팅
코드설명
%s | 문자열(String) |
%c | 문자 1개(character) |
%d | 정수(Integer) |
%f | 부동소수(floating-point) |
%o | 8진수 |
%x | 16진수 |
%% | Literal % (문자 % 자체) |
재미있는 것은 %s 포맷 코드인데, 이 코드에는 어떤 형태의 값이든 변환해 넣을 수 있다.(신기하네)
숫자 바로 대입
"I eat %d(십진수를 의미) apples" % 숫자를 넣어주면 %d 에 입력한 숫자가 들어감, 변수를 만들어서 넣는 거도 가능
문자 바로 대입
"I eat %s(문자를 의미) apples" % 문자를 넣어주면 %d 에 입력한 문자가 들어감
f문자열 포매팅
name = '홍길동'
age = 30
a=f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
print(a)
문제를 한번 풀어보자
• 두 수를 입력받아 4칙 연산과 나머지, 몫의 결과를 출력하시오.
• 두 수는 정수, 실수 모두 가능함
• 두 수를 한 번에 “, ”로 구분하여 입력받기
• 만약 공백이 입력되었다면 제거하기
알고리즘 생각하기**
# 두 수를 입력받는다.
# 정수, 실수 모두 가능 형변환 어떻게 할지?
# 입력 예시가 있어야지?
# 두 수를 ',' 구분해서 입력받기
# num1, num2 = input("두 수 입력하기 예) 20, 40 >> ")
num= input("두 수 입력하기 예) 20, 40 >> ")
예시처럼 20과 40을 넣으면 num에 20, 40이 출력된다.
# num의 문자열을 ',' 으로 구분해서 변수에 분리해서 다른 변수에 넣어준다.
num1 = num.split(",")
num1 변수에 ['20', ' 40'] 이 출력된다.
# 입력값은 정수, 실수 모두가능하도록 형변환
num2 = eval(num1[0])
num3 = eval(num1[1].strip())
배열로 num1 변수에 입력된 문자를 가져온다.
strip으로 공백을 지워주며 새로운 변수에 저장한다.
print 하여 출력해 보면 20 40이 출력된다.
포매팅을 통해 결과를 보여준다.
print(f"{num2}+{num3} =", num2+num3)
결괏값으로 20+40 = 60이라는 결과가 출력된다.
나머지 사칙연산과 나머지, 몫 수식을 적어서 결과를 확인해 보자.
print(f"{num2}+{num3} =", num2+num3)
print(f"{num2}-{num3} =", num2-num3)
print(f"{num2}/{num3} =", num2/num3)
print(f"{num2}*{num3} =", num2*num3)
print(f"{num2}%{num3} =", num2%num3)
print(f"{num2}//{num3} =", num2//num3)
이제 두 수를 입력하게 되면 아래의 결괏값들을 출력하게 된다.
20+40 = 60
20-40 = -20
20/40 = 0.5
20*40 = 800
20%40 = 20
20//40 = 0
- 전체적인 코드 -
# 입력예시 작성
num= input("두 수 입력하기 예) 20, 40 >> ")
# 입력한 값을 확인해보기
print(num)
# 입력된 문자열을 ',' 구분하기
num1 = num.split(",")
# 구분된 문자열 확인해보기
print(num1)
# 정수, 실수 모두 가능해야하기 때문에 eval을 써준다.
# 뒤 문자열에는 공백이 있기에 strip으로 제거해준다.
num2 = eval(num1[0])
num3 = eval(num1[1].strip())
# 어떻게 나오는지 확인해본다.
print(num2, num3)
# 포매팅을 통해 이쁘게 보여준다.
print(f"{num2}+{num3} =", num2+num3)
# 각 연산들을 수행해본다.
print(f"{num2}+{num3} =", num2+num3)
print(f"{num2}-{num3} =", num2-num3)
print(f"{num2}/{num3} =", num2/num3)
print(f"{num2}*{num3} =", num2*num3)
print(f"{num2}%{num3} =", num2%num3)
print(f"{num2}//{num3} =", num2//num3)