Hayden's Archive

[Python] 파이썬 입문 (2) - 조건문 / 함수 / 자료형 본문

Study/Python

[Python] 파이썬 입문 (2) - 조건문 / 함수 / 자료형

_hayden 2020. 5. 10. 19:14

프로그래머스 파이썬 입문 강의 https://programmers.co.kr/learn/courses/2

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 


 

조건문

파이썬 조건문의 구조. 조건식 끝에는 콜론 기호!

 

파이썬에서의 elif는 자바에서의 else if와 같다.

 


 

함수

# 파이썬에서 함수 쓰기
def function():
	print('안녕, 함수!')
function()

 

print()도 함수. 편리하게 쓸 수 있도록 파이썬에서 미리 만들어서 제공.

 

 

매개변수(Parameter) : 정의에서 사용하는 이름

실행인자(Argument) : 실행할 때 넘기는 값

=> 양쪽의 갯수는 일치해야 하고,
=> 여러 개일 때는 쉼표로 구분한다.

 

# 여러 값을 반환하려면? return 뒤에 여러 값을 쉼표로 나누어 넣는다.

def root(a, b, c):
    r1 = (-b + (b ** 2 - 4 * a * c) ** 0.5) / (2 * a)
    r2 = (-b - (b ** 2 - 4 * a * c) ** 0.5) / (2 * a)
    return r1, r2

x = 1
y = 2
z = -8

# a * x^2 + b * x + c = 0, a != 0 인 x에 관한 2차방정식에 대해,
# 근의 공식은

r1, r2 = root(x, y, z)
print('근은 {} {}'.format(r1, r2))

 


 

자료형

문자열.format()

number = 20
greeting ='안녕하세요'
place = '문자열 포맷의 세계'
welcome = '환영합니다'

# old way
print(number, '번 손님', greeting, '.', place, '에 오신 것을', welcome, '!')

base = '{}번 손님, {}. {}에 오신 것을 {}!'
new_way = base.format(number, greeting, place, welcome)
print(new_way)

 

문자열 따옴표 사용

quote = '작은 따옴표 안에 "큰따옴표" 써도 됨'
emphasize = "큰따옴표 안에 '작은따옴표' 써도 됨"
# error1 = "하지만 이렇게 "큰따옴표 안에 큰따옴표"로 쓰면 에러남"
# error2 = '이렇게 '작은 따옴표' 안에 작은 따옴표 써도 에러남'

# 파이썬은 따옴표 하나로 시작한 문자열은 그 줄에서 끝나기를 기대함
# 그래서 문자열 그냥 줄 바꾸면 문법오류가 됨.
# 그래서 줄 바꿔 쓰고 싶으면 """을 쓰면 됨.
string = """줄도 바꾸고
큰따옴표"와 따옴표'를 마음대로 쓸 수 있음"""

 

파이썬에서 사용하는 실수 표현은 실수 전체를 표현할 수 없음. 파이썬에서 사용하는 실수 표현 방법을 부동 소수점이라고 부르는데 정수는 정수 영역만 다룰 수 있는 대신 항상 정확할 것이 보장되고, 부동 소수점은 실수 영역을 다루는 대신에 어느 정도의 정확성은 가지는 대신에 완벽한 정확성은 가지지 못함. ( 자바와 동일. 관련 포스팅 https://hayden-archive.tistory.com/55?category=775409 )

print(int(5.0)) # 정수로
print(float(5)) # 부동소수점으로
print(5 * 1.0) # 부동소수점으로

 

사용자 입력

# input()은 사용자의 키보드 입력을 return
# end=' '는 pirnt() 안에서 줄바꿈을 없애줌.
print('가위 바위 보 가운데 하나를 내주세요 >', end=' ')
mine = input()
print('mine', mine)

mine = input('가위 바위 보 가운데 하나를 내주세요 >')
print('mine', mine)
# round()는 수의 반올림 값을 return
print(round(1.3)) # 1
print(round(1.7)) # 2

 

프로그램이 input()을 쓰니 이전과 다른 점 : 프로그램이 실행 즉시 끝나지 않고, 오랫동안 멈춰있을 수 있음. => 이 때 키보드에서 Ctrl+C를 누르면 코드 실행이 당장 멈춤. 프로그램 강제 종료.