Python Study
Python Study(데이터 형식/연산자/F-String)
Box Maker
2023. 1. 25. 17:39
1. 기본 데이터 형식
- Numeric Type: int(정수), float(실수)
- Sequence Type: str(문자열), list(리스트)
- Boolean Type: bool(불리언/참 거짓)
1) Numeric Type
- int(정수형): 숫자형의 하나로 소수점이 없는 정수
- float(실수형): 숫자형의 하나로 소수점이 있는 실수
2) Sequence Type
- 문자열이란 문자, 단어 등으로 구성된 문자들의 집합을 의미한다
- 문자형은 문자를 다룰 수 있는 다양한 추가,삽입,수정,삭제 기능을 제공한다
- 리스트를 사용하여 데이터를 묶어서 사용할 수 있다
- 불필요하게 각 각의 변수를 생성하여 데이터를 하나씩 담아줘야하는 문제점을 개선
- 리스트는 문자형처럼 인덱싱과 슬라이싱 사용 가능
3) Boolean Type
- 불 자료형은 참(True)과 거짓(False)로 나타내는 자료형이다
1-1 실습예제
Exercise)
print("Hello")
위의 코드를 수정하여 리스트를 이용해 o가 출력되도록 코드를 작성하세요
Solution)
print("Hello"[4])
- Hello 문자열에서 0부터 시작하여 4번째 자리에 오는 문자가 o이기 때문에 위의 코드로 수정하면 o문자가 출력됩니다
1-2 실습예제
Exercise)
two_digit_number = input("Type a two digit number: ")
위의 코드는 수정하지 않고 코드를 추가하여 입력받은 두 정수를 더한 값이 출력되게 코드를 작성하세요
Solution)
two_digit_number = input("Type a two digit number: ")
first_digit_number = two_digit_number[0]
second_digit_number = two_digit_number[1]
result = int(first_digit_number) + int(second_digit_number)
print(result)
- 먼저 입력받은 두 수를 리스트를 사용해 각각 변수에 담아둡니다
- 현재까지 입력받은 두 수는 정수가 아닌 문자열(str)이므로 형변환을 통해 정수로 바꿔주고 연산을 합니다
- 연산한 값을 담은 변수를 출력합니다
2. 수학 연산
- 덧셈(+) / 뺄셈(-)
- 곱셈(*) / 나눗셈(/)
- 거듭제곱(**)
- 몫(//)
- 나머지(%)
1) 연산자의 연산 순서
- 파이썬에서 수학 연산을할 때 연산순서는 다음과 같다
괄호() -> **(거듭제곱) -> 곱셈(*), 나눗셈(/) -> 덧셈(+), 뺄셈(-)
1-1 실습예제
Exercise)
height = input("enter your height in m: ")
weight = input("enter your weight in kg: ")
위의 코드는 수정하지 않고 코드를 추가하여 BMI 계산을 해주는 프로그램 코드를 작성하세요(단, 키는 cm가 아닌 m단위로 입력 받으세요)
* BMI 계산 공식: 몸무게 / 키 * 키
Solution)
height = input("enter your height in m: ")
weight = input("enter your weight in kg: ")
new_height = float(height)
new_weight = float(weight)
bmi = new_weight / new_height**2
print(int(bmi))
- 키는 cm가 아닌 m단위로 입력받아야 하기때문에 정수형이 아닌 실수형으로 형변환을 해야합니다
- 몸무게도 소수점자리까지 생각해서 실수형으로 형변환을 해줍니다
- BMI를 계산하는 수식을 만들어 변수에 담아줍니다
- 수식은 위 공식을 참고하여 만들면 됩니다
- BMI값을 보기좋게 정수형으로 소수점을 짤라내고 출력합니다
3. F-String
- f-string은 문자열 포맷팅으로 문자열안에 변수를 넣어 출력하게 해줍니다
- f-string이 편한 이유는 원래 기본 출력문안에서 문자형이 아닌 변수를 넣으려면 str(변수) 이런식으로 하나하나 묶어서 넣어줘야 하지만 f-string은 그런거 없이 {변수}만 넣으면 출력이 가능하기 때문이다
1) 실습예제
Exercise)
age = input("What is your current age?")
위의 코드는 수정하지 않고 코드를 추가하여 입력받은 나이에서 90살까지 산다고 했을 때 몇일, 몇주, 몇달이 남았는지 계산해주는 코드를 작성하세요
Solution)
age = input("What is your current age?")
new_age = int(age)
day = 32850 - (365 * new_age)
week = 4680 - (52 * new_age)
month = 1080 - (12 * new_age)
print(f"You have {day} days, {week} weeks, and {month} months left.")
- 먼저 문자형인 age를 정수형으로 형변환 해줍니다
- 90세까지 산다고 했을 때 일로 계산하면 32850일입니다 따라서 입력받은 나이에 365를 곱하고 32850에서 해당 일수만큼 뺀값을 변수에 저장합니다
- 주로 계산하면 90세까지 4680주 이므로 입력받은 나이에 52를 곱하고 4680에서 해당 주만큼 뺀값을 변수에 저장합니다
- 달로 계산하면 90세까지 1080달 이므로 입력받은 나이에 12를 곱하고 1080에서 해당 달만큼 뺀값을 변수에 저장합니다
- f-string을 사용해 아까 각 값들을 담아둔 변수들을 출력문에 삽입하여 출력합니다
4. 팁 계산기
- 최종적으로 팁계산기라는 프로그램을 만들어보겠습니다
- 이 프로그램은 총 지불해야하는 금액과 내고싶은 팁의 퍼센트, 총 금액을 같이 내야하는 인원 수를 입력받습니다
- 입력받은 팁까지 포함한 총 금액을 인원수만큼 더치페이하여 각자 내야하는 금액을 소수점2자리까지만 반올림하여 출력하세요
ex) 지불해야하는 총 금액 = 150.00
지불하고싶은 팁의 퍼센트 = 12
같이 지불해야하는 인원 수 = 7
(150 * (12 / 100) + 150) / 7
Solution)
print("Welcome to the tip calculator")
bill = input("What was the total bill? ")
tip = input("How much tip would you like to give? ")
person = input("How many people to split the bill? ")
new_bill = float(bill)
new_tip = float(tip)
new_person = int(person)
total = (new_bill * (new_tip / 100) + 150) / new_person
print(round(total, 2))
- 입력받은 값들을 각 변수에 저장합니다
- 각 변수들을 문자형에서 정수/실수형으로 형변환을 해줍니다
- 계산식을 만들어 정수/실수형 변수들을 각각 해당하는 곳에 삽입합니다
- round(반올림)함수를 이용해 소수점2자리까지 출력합니다