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자리까지 출력합니다