>>> i = 0
while i < 10:
print(i, end = ", ")
i += 1
#while True : 무한루프
>>> import time
i = 0
while True:
print(i, end = " ")
i += 1
time.sleep(1)
if i == 10:
break
print("끝")
#1부터 10까지의 합
>>> i = 0
sum = 0
while i <= 10:
sum += i
#print(sum)
i += 1
print(sum)
#1부터 10까지 3의 배수들의 합
>>> i = 1
sum = 0
while i <= 10:
if i%3 == 0:
sum += i
#print(sum)
i += 1
print(sum)
-조건을 검사해서 조건에 맞지 않으면 while문의 맨 처음(조건문)으로 다시 돌아가게 만든다
#3의 배수가 아닌 것만 출력
>>> i = 0
while i < 10:
if i%3 == 0:
continue
print(i)
#3의 배수가 아닌 것의 합
>>> i = 0
sum = 0
while i < 10:
if i%3 == 0:
continue
sum += i
print(sum)
i += 1
print(sum)
>>> import random
random.randint(1, 10) #1부터 10까지의 숫자가 랜덤으로 나온다
#7보다 작은 수들의 합
>>> sum = 0
while True:
i = random.randint(1, 10)
if i < 7:
print(i, end = " ")
sum += i
if sum > 50:
break
print(sum)
>>> sum = 0
while True:
i = random.randint(1, 10)
if i > 7:
break
else:
print(i, end = " ")
sum += i
print(sum)
#100 이하의 수에 대하여 3의 배수 또는 5의 배수의 합
>>> i = 1
sum = 0
while i < 100:
if i%3 == 0 or i%5 == 0:
#print(i)
sum += i
else:
pass
i += 1
print(sum)
>>> i = 1
sum = 0
while i < 100:
if i%3 == 0:
sum += i
elif i%5 == 0:
sum += i
i += 1
print(sum)
def 함수이름( , ) :
실행할 문장
return 변수
>>> def add(a, b):
c = a + b
return c #print(c)와는 다르다
add(1, 2)
3
>>> def add(a, b):
c = a + b
print(c)
add(10, 20)
30
#입력받은 것을 2배
>>> def twice(a):
return a*2
twice(4)
8
#입력값이 홀수이면 2배, 짝수이면 나누기 2
>>> def odd_even(a):
if a%2 == 1:
return a*2
else:
return a/2 #return이 실행되고 나면 함수는 끝난다
odd_even(5)
10
>>> def add():
a = 10
b = 20
return a + b
add()
30
-여러개의 값을 동시에 리턴하는 것이 가능하다
>>> def add():
a = 10
b = 20
return a + b, b - a
add()
(30, 10)
>>> a = add()
print(a)
c, d = add()
print(c)
print(d)
(30, 10)
30
10
>>> def add(a, b, c = 100): #a,b,c의 기본값이 100
result = a+b+c
return result
>>> add(1) #값을 1개만 지정하였으므로 실행되지 않는다
>>> add(1, 2)
103
>>> add(1, 2, 3)
6
>>> add(2, 1, 3)
add(c=2, b=1, a=3)
6 #변수 하나씩 값을 지정해준다면, 변수를 입력하는 순서는 꼭 지킬필요는 없다
>>> def add(a, b=10, c):
result = a+b+c
return result
SyntaxError: #기본값은 항상 맨 마지막 값에 정의되어야 한다
>>> def add(*a):
return a
>>> add(1,2,3,4)
(1,2,3,4)
>>> def add(*args):
sum = 0
for i in args:
sum += i
return sum
>>> add(1,2,3,4)
10
#1부터 입력받은 수 까지의 합
>>> num = int(input("숫자 입력: "))
sum = 0
for i in range(num+1):
sum += i
print(sum)
>>> def add(num):
sum = 0
for i in range(num+1):
sum += i
return sum
>>> add(10)
#숫자 2개를 입력받고, 그 두 숫자 사이 값들의 합 구하기
>>> def two_num(a, b):
sum = 0
for i in range(a, b+1):
sum += i
return sum #input()을 쓰지 않아도 입력값을 받을 수 있다
>>> two_num(5, 15)
-출력되는 결과로 보기에는 큰 차이가 없어보이지만,
-print는 단지 코드를 수행하여 값을 '출력'만 해주는 것이고
-return은 코드가 수행되어 나온 값을 변수에 '받는다'
>>> def func_r(a):
return(a*2)
def func_p(a):
print(a*2)
>>> func_r(3)
6
>>> func_p(3)
6
>>> b = func_r(3)
print(b)
b/2
6
3.0
>>> b = func_p(3)
print("...")
print(b)
b/2
6
...
None
>>> type(b)
NoneType
>>> def kw_test(**kwargs):
print(kwargs)
>>> kw_test(a=1, b=2)
{'a': 1, 'b': 2} #딕셔너리의 형태로 나온다
>>> def kw_test(*kwargs):
print(kwargs)
>>> kw_test(1,2,3,4)
(1,2,3,4) #튜플의 형태로 나온다
>>> del myself(name, age):
print(f"나의 이름은 {name}이고, 나이는 {age}세 입니다.")
>>> myself("홍길동", 20)
>>> del myself(name, age):
return f"나의 이름은 {name}이고, 나이는 {age}세 입니다."
>>> myself("홍길동", 20)
>>> del(c)
>>> def add(a, b):
c = a + b
return c
add(1, 2)
print(c) #return 전까지는 c가 유효하나, return이 실행되고 나면 사라진다
#함수 안에서 만들어진 변수는 함수가 끝나고 나면 사라진다
>>> d = 5 #global 전역변수
def add(a, b):
c = a + b #local 지역변수
return c + d
add(1, 2)
#print(d)
-함수를 한줄로 간결하게 만들 때 사용한다
-함수에 이름을 붙이지 않을 수 있다
>>> def add(a,b):
return a + b
add(1,2)
>>> (lambda a, b: a+b)(1, 2)
>>> f = lambda a, b: a+b
f(1, 2)
-함수 안의 함수
>>> import time
def hello():
print("안녕하세요")
time.sleep(1)
hello()
>>> hello()
>>> import time
def hello():
print("안녕하세요")
time.sleep(1)
return
hello()
#return의 위치에 따라 실행횟수가 다르다 (return이 들어가면 함수의 무한 반복을 끝낼 수 있다)
>>> hello() #'안녕하세요'가 1번만 출력된다
>>> def hello(count):
if count == 0:
return
print("안녕하세요")
#time.sleep(1)
count -= 1
hello(count)
>>> hello(5)