[python] 변수 / 데이터 입력 / 연산자

jane05·2023년 9월 2일
0
post-thumbnail

1️⃣ 변수

name = 'hong gil dong'
age = 21

1) 변수를 사용하는 이유: 프로그램을 보다 효율적으로 관리할 수 있음 ex) 반복

  • 조건
    • 변수명은 소문자로 지정하기
    • 가급적 데이터의 의미를 파악할 수 있는 명사 사용
    • 카멜 표기법 또는 스네이크 표기법 사용: 변수명은 띄어쓰기 금지
    • 예약어 사용 금지(ex. import())
    • 특수 문자 사용 불가(ex. ₩)
    • 숫자를 사용해도 되지만, 첫 글자로는 사용 불가!

2) 자료형에는 4가지 데이터 타입이 있음

  • 정수형: int
  • 실수형: float
  • 문자(열): str
  • 논리형: bool

3) 실수는 정수와 달리 왜곡이 일어남

num = 1234567890123456789012345678901234567890 #왜곡이 일어나지 않음
print(num)

fNum = 0.1234567890123456789012345678901234567890123456789012 #왜곡 일어남
print(fNum)

4) 변수 선언

score = 100
print(type(score))

pi = 3.14
print(type(pi))

wantGo = 'Canada'
print(type(wantGo)

5) 자료형 변환

#정수였던 변수를 다시 문자로 변환해서 할당
iNum = 10
iNum = str(iNum)
print(iNum)
print(type(iNum)) 

#출력
10
<class 'str'>
fNum1 = 3.14
fNum2 = 0.123
print(fNum1 + fNum2)

fNum1 = str(fNum1)
fNum2 = str(fNum2)
print(fNum1 + fNum2)

#출력
3.263
3.140.123
#빈문자일 때는 값이 False, 공백 문자일(무언가가 있을) 때는 값이 True가 나옴
var = ''
print(var)
print(type(var))

var = ' '
print(var)
print(type(var))

#실습하기
var1 = 'True'
var2 = 'False'

var1 = bool(var1)
var2 = bool(var2)

print(var1 + var2)
print(var1 - var2)
print(var1 * var2)
print(var1 / var2)

#출력
True
True
2
0
1
1.0

2️⃣ 데이터 입력

  • input() 함수를 이용해서 입력한 데이터는 항상 문자(열)이 됨
  • 따라서 변환해서 사용하고 싶다면, 형변환함수를 사용해야 한다.
width = int(input('가로 길이 입력: '))
height = int(input('세로 길이 입력: '))
print(width * height)
user_name = 'hong gil dong'
user_age = 20

print('user_name = ', user_name)
print('user_age= ', user_age)

#end를 사용하면 자동 줄바꿈이 안되서 행이 따라 들어옴
print('3*5=', end='')
print(3*5)

#/n: 줄바꿈, /t: tab으로 4칸을 띄워서 출력됨
print(f'username: {username}, \n userage: {userage}')

1) 형식 문자열(빈번하게 쓰임, 변수명을 중괄호를 이용해 넣을 수 있음)

print(f'user_name: {username}')
print(f'user_age: userage}')

#삼각형의 넓이 구하기
triangle = width * height / 2
print(f'width = {width}, height: {height}, triangle: {triangle}')

print('width: ', width, end='')
print('height: ', height, end='')
print('triangle: ', triangle)

2) 포맷함수 cf) 직접 변수명을 넣어주는 포맷 문자열과 구분하기

username = 'hong gl dong'
userage = 21
print(username)

print('user name: {}'.format(username))
print('user age: {}'.format(userage))

#두 가지 행 동시에
print('user name: {}, user age: {}'.format(username, userage))

#변수 순서 바꾸고 싶을 때
print('user name: {1}, user age: {0}'.format(username, userage))

print('나의 이름은 {0}이고, 나이는 {1}살 입니다. {0} 이름은 아버님께서 지어 주셨습니다.'
.format(username, userage))

3) 형식 문자열

username = 'hong gil dong'
userage = 21

print('user name: %s' %username)
print('user age: %d' %userage)

#한 줄에 출력
print('user name: %s, user age: %d' %(username, userage))

#실수형: 소수점 몇 째자리까지 나타내고 싶을 때
#%.nf
pi = 3.14
print('pi: %f' %pi)
print('pi: %.3f' %pi)

#정수형
print('pi: %d' %pi)

#요약
#%s -> 문자열 / %d -> 정수 / %f -> 실수

3️⃣ 연산자

  • 연산자 종류

    • 산술 연산자: +,-,*,/,%(나머지), //(몫), **(제곱)
    • 할당 연산자: =, +=, -=, *=, /=, %=, //=
    • 비교 연산자: >,>=,<,<=,==,!=
    • 논리 연산자: and, or, not
  • 어떤 수를 0으로 나눌 수 없다.

  • 어떤 수를 나누면 무조건 0이다.

  • 정수로 나눗셈을 하더라도 나눗셈 결과는 항상 실수(float)로 나온다.

  • 만약 정수로 변환을 원한다면 int로 casting을 해줘야 한다.

kor_score = int(input('국어 점수: '))
eng_score = int(input('영어 점수: '))
mat_score = int(input('수학 점수: '))

totalscore = kor_score + eng_score + mat_score
avgscore = totalscore / 3

print('국어 점수: {}'.format(kor_score))
print('영어 점수: {}'.format(eng_score))
print('수학 점수: {}'.format(mat_score))

print('합계 : {}'.format(totalscore))
print('평균 : {}'.format(avgscore)) #포맷 함수
print('평균 : %.2f' %avgscore) #형식 문자
num1 = 10
num2 = 3
#
# result = num1 / num2
# result = num1 // num2 #몫만 구한다
# result = num1 % num2 #나머지만 구한다
# print(result)

#나머지와 몫 한 번에 구하기
#divmod()

#result = divmod(num1, num2)
#튜플! 순차적으로 번호표를 받는데, 0부터 시작한다!라는 것을 알기
# print('result: {}'.format(result))
# print('몫: {}'.format(result[0]))
# print('나머지: {}'.format(result[1]))

#예시
apple = 123
employee = 4
result = divmod(apple, employee)
print('사과를 나누어 줄 수 있는 최대 직원 수: {}명'.format(result[0]))
print('남는 사과 개수: {}개'.format(result[1]))
#n제곱
num1 = 2
num2 = 3

result = num1 ** num2
print('result: '.format(result))

#n의 m제곱근 공식: n ** (1/m)
result = 2 ** (1/3)
print('result: %.2f' %result)

math 모듈

  • sqrt(): 제곱근 함수 *제곱근만 구할 수 있음
  • pow(): 거듭제곱 함수
#모듈을 사용할 때는 무조건 import() 사용
import math
print(math.sqrt(2))
print(math.sqrt(3))
print(math.pow(2,3))
#실습하기
first_month_money = 200
after_12_month = ((first_month_money * 0.01) **12) * 100

print('12개월 후 용돈: {}'.format(after_12_month))
#천 단위 콤마 찍기
str_result = format(after_12_month, ',')
print(str_result, '원')

#출력
12개월 후 용돈: 409600.0
409,600
profile
데이터 분석 공부 기록

0개의 댓글