1주차(2) : Python 개발환경 구축, 기초 문법
a = True
if a == True:
print("a는 참이다.")
else:
print("a는 거짓이다.")
a = True
if a:
print("a는 참이다.")
else:
print("a는 거짓이다.")
b = 1
if b % 2 == 0:
print("짝수")
else:
print("홀수")
b = 55
if (b >= 10) & (b < 100) & (b % 2 == 0):
print("2자리 수의 짝수이다.")
else:
print("2자리 수의 짝수가 아니다.")
if ~ elif ~ else
명령을 사용할 수 있다.if 조건1:
조건1이 참일 때 실행되는 명령
elif 조건2:
조건1이 거짓이고 조건2가 참일 때 실행되는 명령
elif 조건3:
조건1과 조건2가 거짓이고 조건3가 참일 때 실행되는 명령
...(생략)...
else:
지금까지의 어떤 조건도 참이 아니면 실행되는 명령
만약 10문제를 보는 시험에서 8개 이상을 맞으면 성적이 "A", 8개 미만이고 5개 이상을 맞으면 "B", " 5개 미만을 맞으면 "C"가 된다면 점수는 다음과 같이 계산할 수 있다.
c = 6
if c >= 8:
print("A")
elif c >=5:
print("B")
else:
print("C")
if 조건1:
조건1이 참일 때 실행되는 명령
if 조건2:
조건1과 조건2가 모두 참일 때 실행되는 명령
else:
조건1은 참이고 조건2는 거짓일 때 실행되는 명령
else:
조건1이 거짓일 때 실행되는 명령
예를 들어 중학교에서 팔굽혀펴기 시험을 보는데 남자는 10번 이상을 해야 합격(Pass)이고 아니면 불합격(Fail)이다. 여자는 5번 이상을 해야 합격이라면 다음과 같이 프로그램을 만들 수 있다.
gender = "boy"
pushup = 8
if gender == "boy":
if pushup >= 10:
grade = "Pass"
else:
grade = "Fail"
else:
if pushup >= 5:
grade = "Pass"
else:
grade = "Fail"
print(grade)
파이썬에는 def 키워드를 사용하여 다음과 같이 함수를 만들 수 있다.
def 함수이름(입력변수이름):
출력변수를 만드는 명령
return 출력변수이름
def는 "정의하다"라는 뜻을 가진 define
에서 만들어 졌다.
예를 들어, 숫자 x를 입력하면 두 배가 되도록하는 함수는 다음과 같다.
def twotimes(x):
y = 2 * x
return y
twotimes(2)
"""
연습문제1
1. 짝수가 입력되면 "짝수"라는 문자열을, 홀수가 입력되면 "홀수"라는 문자열을 반환하는 함수를 만든다.
2. 윤년을 나타나는 수가 입력되면 "윤년"이라는 문자열을, 그렇지 않은 수가 입력되면 "평년"이라는 문자열을 반환하는 함수를 만든다.
"""
def f(number):
if number%2 == 0:
return "짝수"
else:
return "홀수"
print(f(5))
print(f(250))
def 함수이름(입력변수1, 입력변수2, 입력변수3):
출력변수를 만드는 명령
return 출력변수이름
def add(x, y):
return x+y
print(add(5, 12))
def sum(a, b, c):
return a+b+c
print(sum(3, 12, 7))
def g(a, b, c):
return a*2, b*3, c*4
print(g(3, 5, 7))
x, y, z = g(4, 6, 8)
print(x, y, z)
print("=1=")
print("=2=")
print("=3=")
print("=4=")
print("=5=")
print("=6=")
print("=7=")
print("=8=")
print("=9=")
for 반복문은 다음과 같이 사용한다.
for 카운터변수 in range(반복횟수):
반복해서 실행할 명령
이 때 반복횟수는 10, 100과 같은 양의 정수이어야 하고 카운터 변수의 이름은 아무거나 쓸 수 있다.
for i in range(10):
print("=")
for i in range(10):
print(i)
for i in range(10):
print("=" + str(i) + "=")
for i in range(9):
print("=" + str(i+1) + "=")
for i in range(1, 10):
print("=" + str(i) + "=")
어떤 경우에는 반복문 안에서 다시 반복문을 실행해야 하는 경우가 있을 수 있다. 예를 들어 다음과 같이 인쇄해야 하는 경우를 생각해 보자.
0 1 2 3
1 2 3 4
2 3 4 5
3 4 5 6
여러가지 방법이 있을 수 있지만 다음과 같이 for 반복문 안에 다시 for 반복문을 사용하는 중첩 반복문(nested loop)를 사용할 수도 있다.
for i in range(4):
for j in range(4):
print(i + j, end=" ")
print()
def gugudan(x):
for i in range(1, 10):
print(str(x) + " * " + str(i) + " = " + str(x*i))
gugudan(4)
for i in range(2, 10):
gugudan(i)
print()