# 함수 : print(출력할 문장)
# 문자 : '', "" 둘다 가능
print("Hello Python!")
print('Helllo Pyhton!')
print(100)
print("100")
print(25.3)
print("25.3")
# type() : 데이터 타입
print(type('Helllo Pyhton!')) # <class 'str'>
print(type(100)) # <class 'int'>
print(type(25.3)) # <class 'float'>
print(type(True)) # <class 'bool'>
print("T","E","S","T") # T E S T
# print()에 사용하는 옵션
# sep : 문자열 출력 시 기본 구분은 스페이스바 1번
print("T","E","S","T", sep="") #TEST
print("2024","05","09", sep="-")
# end : print() 줄바꿈 기본
print("Welcome to", end=" ")
print("안녕하세요") # Welcome to 안녕하세요
# formatting - %d, %s, %f, %c
# 포멧코드 + 숫자 : %5d - 전체자릿수 5(오른쪽 정렬)
print("%d" %100)
print("%5d" %100)
print("%05d" %100) # 전체 자릿수에서 빈자리에 0으로 채우기
print()
print("%s" %"hi")
print("%5s" %"hi")
print()
# 전체자릿수 : 8 (소수점 자리수 2 포함)
print("%-8.2f"%123.21) # - : 왼쪽 정렬
print("%8.2f"%123.21)
print("%8.2f"%123.215637)
# 변수 : 타입 없음(값을 담고 난 다음 결정) / 변수선언 키워드 X
number = 4
print("I eat %d apples" %number)
print("%d : %s" %(1, "홍길동"))
# %s : 어떠한 형태의 값이든 문자열로 변환하여 대입
print("I eat %s apples" %number)
print("I eat %s apples" %3.1415)
print("I eat %s apples" %"three")
# %% : % 기호 화면 출력
print("Error is %d%%" %98)
print()
# format() : 포멧코드와 유사한 역할
print("I eat {} apples".format(3))
print("{} and {}".format("you","me"))
# format() + 인덱스
print("I eat {0} apples".format(3))
print("{0} and {1} and {0}".format("you","me"))
# format() + 인덱스 + 이름
print("{var1} and {var2}".format(var1="You", var2="niceman"))
print("I ate {0} apples. So I was sick for {day} days".format(10, day=3))
# format() + 인덱스 + 정렬
print("{0:<10}".format("hi")) # 총자리수 10 왼쪽 정렬
print("{0:>10}".format("hi")) # 총자리수 10 오른쪽 정렬
print("{0:^10}".format("hi")) # 총자리수 10 가운데 정렬
print("Test1 : {0: 5d}, Price : {1: 4.2f}".format(776,3454.123))
# f 문자열 포매팅
name="홍길동"
age=30
print(f'나의 이름은 {name} 입니다. 나이는 {age}입니다')
print("\n줄바꿈\n연습")
print("\t탭\t연습")
print('글자가 "강조" 되는 효과')
print("글자가 '강조' 되는 효과")
#변수
num=1
num="10"
print(num)
a = b = 3
print(a,b)
a,b = 10, 15
print("a = %d, b = %d" %(a,b))
# 2개의 변수에 있는 값 서로 바꾸기
a,b = b,a
print("a = %d, b = %d" %(a,b))
str1 = "500"
# num1 = str1 + 500
# print(str1 + 500)
#타입변환 : str(), int(), float(), bool()
# type() : 타입확인
print(type(str1))
print(type(10))
print(type(10.5))
print(type(False))
print(int(str1))
print(type(int(str1)))
print(int(str1) + 500)
print(str1 + str(500))
f=3.5
print(type(f))
print(type(str(f)))
print(int(True)) #1
print(int(False)) #0
print(int(3.6)) #3
print(int("3")) #3
# 소수점 혹은 지수를 포함하는 문자열은 int로 변경X
# print(int("3.6")) : ValueError : invalid literal for int() with base 10: '3.6'
print()
print(float(True)) #1.0
print(float(False)) #0.0
print(float(3.6)) #3.6
print(float("3")) #3.0
print(float("3.6")) #3.6
print(float("3.06e4")) #30600.0
print()
# 0이 아닌 모든 숫자는 True
print(bool(1))
print(bool(0))
print(bool(99))
print(bool("99"))