[udemy] Python 부트캠프 : 100개의 프로젝트로 Python 개발 완전 정복을 통해 학습하고 있습니다.
파이썬 기본 데이터 형식
- String, Integer, Float, Boolean
String
- "Hello"를 []안에 원하는 문자의 인덱스나 위치를 넣을 수 있음.
- 만약 "Hello"의 첫 번째 글자만 출력하고 싶다면, 아래와 같이 사용할 수 있음.
- 문자나 어떤 것을 시작할 때 항상 0부터 시작함. (0 > 1 > 2> 3 ...)
- 음수로 지정하게되면, 마지막 문자부터 시작함.(-1 > -2 > -3...)
print("Hello"[0])
print("Hello"[-1])
# 결과
H
o
Integer(정수), Whole Number
- Large Integers를 사용할 때는 ,가 아닌 _를 사용할 수 있음.
- 모든 정수는 양수든 음수이든 프로그래밍에서는 정수(Integer)라고 부름.
print(123 + 456)
print(123_456_789)
# 결과
468
123456789
Float(소수점), Floating Point Number
- 예를 들어 3.14159를 입력하면 소수점이 있기 때문에 부동 소수점이 됨.
print(float(3.14))
# 결과
3.14
Boolean
- 두 가지 값 True, False만 가지며, 항상 대문자 T또는 대문자 F로 시작하고 따옴표나 다른 기호는 없음.
- 프로그램에서 어떤 것이 true이고 false인지 테스트하고 이에 따라 응답하는데 많이 사용됨.
형식 오류와 형식 확인 및 형 변화
- len() 함수에 숫자를 넣어서 사용하면, 에러가 발생하며 제대로 출력이 되지 않음.
len의 인수는 문자열, 바이트, 튜플, 리스트 또는 range 등을 사용할 수 있음.
12345를 len()을 사용하여 결과 값을 받고 싶을 때 아래와 같이 사용할 수 있음.
print(len("12345"))
# 결과
5
tpye
- 파이썬에는 데이터나 변수의 데이터 타입을 확인할 수 있는 type()함수가 있음.
- ()안에 어떤 데이터든 넣을 수 있고, 반환값으로 데이터 타입을 알려줌.
print(type("Hello"))
print(type(12345))
# 결과
<class 'str'>
<class 'int'>
❓ Qusetion
Q1. Write out 4 type checks to print all 4 data types.
Using the type() and print() functions to print out 4 lines into the output area so we get the full collection of data types that we learnt about. <class 'str'> <class 'int'> <class 'float'> and <class 'bool'>
print(type("Hello Joy"))
print(type(12345))
print(type(3.1415))
print(type(True))
# 결과
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
타입 변환
- 문자 타입의 "123"을 숫자로 변경하고 싶을 때 변환할 타입 함수를 사용하면 숫자로 변경할 수 있음.
- "abc"을 정수로, 정수를 문자로 변경할 수 없음. (상식적으로 생각...)
print("123" + "456")
print(int("123") + int("456"))
# 결과
123456
579
- 결과 확인 시, 첫 번째 print문은 문자열 "123"과 "456"을 합쳐서 출력한 것을 확인할 수 있음.
- 두 번째 print문은 int를 씌워 정수로 변경하였기 때문에 123+456의 합계를 출력한 것을 볼 수 있음.
❓ Qusetion
Q2. Make this line of code run without errors
print("Number of letters in your name: " + len(input("Enter your name")))
TypeError: can only concatenate str (not "int") to str
print("Number of letters in your name: " + str(len(input("Enter your name"))))
# 결과
Enter your namejoy
Number of letters in your name: 3
→ "Number of letter~"가 str타입이기 때문에 뒤에 len도 str 타입으로 변경해줘야 에러 없이 결과 출력 가능.
input을 변수로 만드셨지만 나는 그냥 str로 묶어 버림.
파이썬의 수학 연산
- +,- 등은 기본적으로 사용할 수 있고, 곱셈의 경우 *를 사용하며 나눗셈은 / 을 사용하고 제곱의 경우 **을 사용함.
나눗셈의 결과 값 타입은 기본적으로 float이며, 이를 암시적 형변환이라고 부름.
float 형태가 아닌 int 타입으로 결과 값을 받고 싶다면 // 을 사용하면 됨.
- 연산의 순위는 나눗셈이나 곱셈이 가장 먼저 계산되고, 덧셈이나 뺄셈은 나중에 계산됨.
학교 다닐 때 배웠던 연산 순위와 동일함.
* PEMDAS: 괄호() > 지수** > 곱셉* 및 나눗셈/ > 덧셈+ 및 뺄셈-
- 같은 순위의 계산은 왼쪽에서 오른쪽으로 진행됨.
print(123 + 456)
print(7 - 3)
print(3 * 4)
print(6/3)
print(6//3)
print(5/3)
print(3**2)
# 결과
579
4
12
2.0
2
1.6666666666666667
9
❓ Qusetion
Q1. What is the output of this code?
print(3 * 3 + 3 / 3 - 3)
# 결과
7
→ 괄호가 없기 때문에 왼쪽에서 오른쪽으로 연산하여 (1) 3*3 수행 → (2) 3/3 수행 → (3) (1)+(2) 수행 → (3)-3이 수행됨.
Q2. Change the code so it outputs 3?
print(3 * 3 + 3 / 3 - 3)
print(((3 * 3) / 3) + 3 - 3)
print(3 * (3 + 3) / 3 - 3)
# 결과
3
실습: BMI 계산기
체질량 지수(BMI)는 의학에서 사용되는 측정 항목으로, 누군가가 저체중인지 비만인지 확인하는 데 사용됩니다. 이를 계산하기 위해 사용되는 공식은 다음과 같습니다:
* BMI는 해당 사람의 체중을 해당 사람의 키의 제곱으로 나눈 값입니다.
이 문장을 6번 줄의 코드로 변환해보세요.
# Default
height = 1.65
weight = 84
# Write your code here.
# Calculate the bmi using weight and height.
bmi =
print(bmi)
# 테스트 코드
bmi = weight / (height ** 2)
파이썬의 숫자 처리 및 F-String
- 과제에서 BMI를 계산하고 출력 값을 확인하면 소숫점이 많이 출력되는 것을 확인할 수 있음.
bmi = 84 / 1.65 ** 2
print(bmi)
# 출력
30.85399449035813
- 이때 round 함수를 사용하여 반올림을처리를 할 수 있음.
0.5 이상일 때는 다음 정수로 반올림하고, 이하일 때는 반 내림함.
bmi = 84 / 1.65 ** 2
print(bmi)
print(int(bmi))
print(round(bmi))
# 결과
30.85399449035813
30
31
- int을 사용하였을 때는 30으로 출력된 것을 확인할 수 있고, round 사용시 소숫점 첫번째 자리에서 반올림하여 출력한 값을 확인할 수 있음.
round
- round(number, ndigits) 형식으로 첫 번째는 숫자를 두 번째는 자릿수를 입력할 수 있음.
- 자릿수를 사용하지 않으면 기본적으로 첫째 자리에서 정리하고, 2를 입력하면 둘째 자리까지 출력함.
할당 연산자
- 계산 결과를 누적할 수 있음.
- +=, -=, *=, /= 의 형태로 사용할 수 있음.
score = 0
# User scores a point
score += 1
# score + 1 =
print(score)
# 결과
1
f-string
- 문자열과 다양한 테이터 타입을 쉽게 혼합할 수 있게 함.
- 예를 들어 "Your score is = 0, your height is 1.8. You are winning is True." 라는 결과를 출력하고 싶으면
타입 변환과 + 를 사용하여 코드가 깔끔하지 못한데, f-string을 사용하면 한 번에 깔끔하게 작성할 수 있음.
- f"", 쌍따옴표 앞에 f를 붙여주고 출력하고 싶은 변수는 {}로 묶어주면 됨.
- 다양한 테이터 타입을 문자열 앞에 f를 사용하고, 중괄호를 사용하여 변수를 문자열에 넣음으로써 하나의 문자열로 결합됨.
# f-string
score = 1
height = 1.8
winning = True
print(f"Your score is = {score}, your height is {height}. You are winning is {winning}.")
# 결과
Your score is 1, your height is 1.8. You are winning is True.
2일차 프로젝트
아래와 동일하게 출력하는 코드를 만들기.
Code
print("Welcom to the tip calculator!")
bill = float(input("What was the total bill? $"))
tip = int(input("How much tip would you like to give? 10, 12, 15? "))
people = int(input("How many people to split the bill? "))
cal = round((((tip/100) * bill) + bill) / people, 2)
print(f"Each person should pay: {cal}")
# 결과
Welcom to the tip calculator!
What was the total bill? $150
How much tip would you like to give? 10, 12, 15? 15
How many people to split the bill? 5
Each person should pay: 34.5
p.s 코드를 다 쓰고 나니, cal 변수 내용이 많이 지저분한 것 같으나 저걸 다 쪼개기 싫었음.
다음에는 쪼개서 써야 할 거 같다 가독성이 좀 떨어지는 거 같다는 생각이 듦.
'Language > Python' 카테고리의 다른 글
[Section6] 파이썬 함수와 카렐 (0) | 2025.01.13 |
---|---|
[Section5] 파이썬 반복문 (0) | 2025.01.13 |
[Section4] 파이썬 리스트 (0) | 2025.01.12 |
[Section3] 흐름 제어와 논리 연산자 (0) | 2025.01.10 |
[Section1] 파이썬 변수 사용 (0) | 2025.01.08 |