공부/Python(FastAPI)

Python 기초부터 배워보기~(자료형 연산)

줘요 2023. 9. 8. 19:05

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)