Skip to content

Latest commit

 

History

History
308 lines (251 loc) · 5.6 KB

File metadata and controls

308 lines (251 loc) · 5.6 KB

제어문

while 문

a = 0
while a < 5:
    print(a)
    a += 1
print('끝')
=================
1부터 사용자가 입력한 양의 정수까지의 총합을 구하는 코드를 작성해보세요.
n = 0
total = 0 
user_input = int(input())
while n <= user_input:
    total += n
    n += 1
print(total)
===========
사용자로부터 숫자 입력 받은 양의 정수의  자리 수를 1 자리부터 차례대로 출력하는 코드를 작성해보세요.
n = int(input())
while n > 0:
    print(n % 10)
    n = n // 10   

FOR 문

for 문자열 순회

Q. 문자를 range를 활용하여 한 글자씩 출력하는 for 문을 작성해봅시다.

chars = input('문자를 입력하세요 : ')
for idx in range(len(chars)):
    print(chars[idx])
dictionary 순회

Q. for문을 통해 딕셔너리 grades를 순회하며 출력 값 확인, 및 키를 활용한 점수 출력

grades = {'john':  80, 'eric': 90}
for student in grades:
    print(student)  #key
    print(grades[student]) #value   
==========
print
enumerate()
members = ['민수', '영희', '철수']
print(list(enumerate(members)))
---------------------
[(0, '민수'), (1, '영희'), (2, '철수')]
===================================

members = ['민수', '영희', '철수']
for idx, member in enumerate(members):
    print(idx, member)
#for index, element in enumerate(members):
#    print(index, element)
---------------------------------
0 민수
1 영희
2 철수
members = ['민수', '영희', '철수']
print(list(enumerate(members)))
print(list(enumerate(members))[0])
--------------------------------------
[(0, '민수'), (1, '영희'), (2, '철수')]
(0, '민수')
list comprehension
  • 활용법, 세제곱 리스트
  • Q. 1~3까지 숫자로 만든 세제곱 담긴 리스트!
cubic_list = []
for number in range(1, 4):
    cubic_list.append(number ** 3)
print(cubic_list)
-------------------->
cubic_list = [number**3 for number in range(1, 4)]
print(cubic_list)
#[1, 8, 27]
------------------------
expresion for 변수 in iterable
------------------------
print('list comprehension')
a = [i for i in range(10)]
a = [i for i in range(10) if i%2==0] #짝수라면
print(a) 
#[0, 2, 4, 6, 8]

실습

  • 홀수만 출력
for i in range(1, 31):
    if i % 2:
        print(i)
----------------------->
a = [i for i in range(1, 31) if i % 2]
print(a)  #리스트로 묶을 수 있음


# ++조건 표현식 추가
num = 2
if num % 2:
    result = '홀수입니다.'
else:
    result = '짝수입니다.'
print(result)
--------------------------
num = int(input())
result = '홀수입니다.' if num % 2 else '짝수입니다.'
print(result)



num = -5
if num >= 0:
    value = num
else:
    value = 0
print(value)
------------------->
num = -5
value = num if num >= 0 else 0
print(value)
  • break 문
n = 0
while True:
    if n == 3:
        break
    print(n)
    n += 1
--------------
for i in range(10):
    if i > 1:
        print('0과 1만 필요해!')
        break
    print(i)
  • continue
for i in range(6):
    if i % 2 == 0:
        continue
        # continue 이후의 코드는 실행되지 않습니다.
    print(f'{i}는 홀수다.')
    
--------------
for age in ages:
    if age < 20:
        continue
    print(f'{age} 살은 성인입니다.')
  • continue vs pass
for i in range(5):
    if i == 3:
        pass
    print(i)
-----------------
01234  #pass는 암것도 안함
--------------------
for i in range(5):
    if i == 3:
        continue
    print(i)
----------------
0124   #continue는 3을 건너뛰고, continue (계속) 기존의 함수 실행하도록함
  • else문
    • for ~else
      • else의 동작 :: for문에서 break가 발생하지 않을시 동작함
for char in 'apple':
    if char == 'b':
        print('b!')
        break
else:
    print('b가 없습니다.')

함수

def my_max(a, b):
    if a > b:
        return a
    else:
        return b
print(my_max(1, 5))
--------------------
def cube(num):
    cube = num ** 3
    return cube

print(cube(2))
----------------
def rectangle(width, height):
    #area = width * height (값저장해서 이렇게 하거나)
    return width * height, (width + height) * 2

print(rectangle(30, 20))
------------------------------
  • 기본 인자값 받아서 쓰기
def greeting(name = '익명'):
    return f'{name}, 안녕?'
print(greeting())
print(greeting('철수'))
---------------------
익명, 안녕?
철수, 안녕?
  • **kwargs
###딕셔너리 연습
hi = dict(한국어='안녕', 영어='hi')

print(hi)
-------------------
{'한국어': '안녕', '영어': 'hi'}
=======================================
print(dict(((1,1), (2,2))))
print(dict([(1, 1), (2, 2)]))
print(dict(
    [  [1, 1], [2, 2]  ]   ))
------------------
{1: 1, 2: 2}
=============================
def my_dict(**kwargs):
    return kwargs

print(my_dict(한국어='안녕', 영어='hi', 독일어='Guten Tag'))
----------
{'한국어': '안녕', '영어': 'hi', '독일어': 'Guten Tag'}
  • 팩토리얼/ 재귀
def factorial(n):
    start = 1
    while n>1:
        start *=n
        n = n-1
    return start
print(factorial(5))
---------
120
==================피보나치
첫째  둘째 항이 1이며  뒤의 모든 항은 바로   항의 합인 수열
(0), 1, 1, 2, 3, 5, 8
𝐹0=0
𝐹1=1
𝐹𝑛=𝐹𝑛1+𝐹𝑛2    //  (𝑛∈{2,3,4,…})
def fib(n):
    if n < 2:
        return n
    else:
        return fib(n-1) + fib(n-2)
print(fib(10))
-------------
55