본문 바로가기

웹_프론트_백엔드/Python

2020.01.21

1. lex06_set.py

# -*- coding: utf-8 -*-
# 목표 : set 기본/ 생성, 변환, in , add, 연산자
# 문제 : set은 각 항목이 유일하다. 이 특성을 잘 활용하면 간결한 프로그래밍이 가능하다. 
# 아래 문제를 set을 이용하여 풀어보시오.

# 1. 비어있는 set을 만들라. 
# 2. alphabet으로 구성된 set을 만들라. 
# 3. lyrics을 구성하는 alphabet을 구하라.(대소문자 구분없음)
# 4. lyrics에 포함되지 않은 alphabet을 구하라.(대소문자 구분없음)

lyrics = \
'''It's a little bit funny this feeling inside
I'm not one of those who can easily hide, I
Don't have much money but boy if I did
I'd buy a big house where we both could live
If I was a sculptor, but then again no
Or a man who makes potions in a traveling show
Oh I know it's not much but it's the best I can do
My gift is my song
And this one's for you'''

#1
empty_set = set()
print(empty_set, type(empty_set))

#2
alphabet_set= set('abcdefghijklmnopqrstuvwxyz')
print(alphabet_set, len(alphabet_set))

#3
alphabet_set_lower = set(lyrics.lower())
print(alphabet_set_lower)
alphabet_only =alphabet_set_lower & alphabet_set
print(alphabet_only)

#4
print(alphabet_set -alphabet_only )

2. lec01_logic_op.py

# -*- coding: utf-8 -*-
# 비교연산자(관계연산자), 논리연산자, 참과 거짓, 삼항연산자 

#bool :참과 거짓 
print(True, type(True))
print(False, type(False))

# 비교연산자: <, >, <=, >=, ==(같다), !=(같지않다)
print(1 == 1,type(1 == 1))
print(1 !=1 )
print( 1 >=1)
print( 1 > 1)

#Quiz : a에 값을 넣고 a가 3보다 크면 True를 출력하시오. 아니면 False를 출력 
a= 2
print( a>3 )
#Quiz : list_a=[1,2,3]. a가 list_a에 있으면 True, 없으면 False를 출력
print(a in [1,2,3])

#논리연산자 : and, or, not
print(True and False)
print(True or False)
print(not True)

#Quiz: a=3. a가 1보다 크고 10보다 작으면 True, 아니면 False를 출력 
print( 1< a and a<10)
print( 1<a<10)

#삼항연산자
#max(큰값)을 구하는 삼항연산자
a=10
b=20
max = a if a > b  else b
print(max)

#is(같다)와 ==(같다) 비교 
# is는 주소비교
# ==는 값을 비교 
print( 1 is 1.0)
print( 1 == 1.0)

a=1
c=a  #가리키는 객체가 같다. 
b=1.0
print( a is b) # False
print( a == b) # True
print( a is c) # True
print( a == c) # True

#객체의 주소를 구하는 연산자 id()
print(id(1))
print(id(1.0))

#비어있는 자료구조 해석 방법
#[], {}, (), 0,  ''  False로 해석됨
print(bool([]))

list_a =[]
if(list_a):
    print(list_a)
else : 
    print('리스트가 비어있습니다.')

3. lex01_logic_op.py

# -*- coding: utf-8 -*-
# 입력과 삼항연산자 
# 정수 2개를 입력받아 큰값을 출력. 삼항연산자 사용. 

num1 = int(input('정수를 입력하세요>'))
num2 = int(input('정수를 입력하세요>'))
print(num1, num2, type(num1))

max =  num1 if num1> num2 else num2
print(max)

4. lec02_if.py

# -*- coding: utf-8 -*-
#if
#python은 block을 나타내는 식별자({})가 없다. 들여쓰기로 구분. 

#if하나만 사용
num1 =10
num2 =20
if num1> num2 :
    print('{}가 {}보다 큽니다'.format(num1, num2))
    
#if, else만 사용
num1 =10
num2 =20
if num1> num2 :
    print('{}가 {}보다 큽니다'.format(num1, num2))
else :
    print('{}가 {}보다 큽니다'.format(num2, num1))
    
#if, elif, else 사용
num1 =10
num2 =10
if num1> num2 :
    print('{}가 {}보다 큽니다'.format(num1, num2))
elif num2> num1 :
    print('{}가 {}보다 큽니다'.format(num2, num1))
else : 
    print('{}와 {}는 같습니다'.format(num2, num1))

5. lex02_if.py

# -*- coding: utf-8 -*-
# 목표 :  조건문 if 
# 1에서 4가 아닌 값을 입력하면 잘못 입력하였습니다를 출력 
# 4를 입력하면 정답입니다를 출력
# 그밖의 경우에는 오답입니다를 출력 
question = \
'''
다음중 과일이 아닌것은 ? 
1. 바나나
2. 사과
3. 귤
4. 토마토
'''
print(question)
menu = int(input('답을 입력하세요'))
#if menu <1 or menu > 4 :
if menu not in [1,2,3,4] : 
    print('잘못 입력하였습니다')
elif menu == 4 :
    print('정답입니다')
else :
    print('오답입니다')

6. lec03_while_flow.py

# -*- coding: utf-8 -*-
# while: 반복 (조건이 참인동안 반복)
# break 탈출. 반복문을 빠져나간다. 
# continue 스킵 . 반복문의 처음으로 돌아간다. continue아래 있는 문장을 skip

while True: #의도적인 무한반복
    menu = int(input('번호를 입력하세요 9를 입력하면 종료합니다'))
    if menu==9: 
        break
    print(menu, '를 입력하였습니다')

7. lex03_while_flow.py

# -*- coding: utf-8 -*-
# 목표 :  조건문 if 
# 1에서 4가 아닌 값을 입력하면 잘못 입력하였습니다를 출력 
# 4를 입력하면 정답입니다를 출력
# 그밖의 경우에는 오답입니다를 출력 
# 정답을 받을 때까지 반복. while문을 사용해서. 
question = \
'''
다음중 과일이 아닌것은 ? 
1. 바나나
2. 사과
3. 귤
4. 토마토
'''
print(question)
while True : 
    menu = int(input('답을 입력하세요'))
    #if menu <1 or menu > 4 :
    if menu not in [1,2,3,4] : 
        print('잘못 입력하였습니다')
    elif menu == 4 :
        print('정답입니다')
        break
    else :
        print('오답입니다')

8. lec04_for.py

# -*- coding: utf-8 -*-
# for문, range() 함수 
# range() :연속적인 숫자를 만들어주는 함수
# range(초기값, 종료값, 증감) : range(0,10,1)
# 증감이 1이면 생략가능  : range(0,10)
# 초기값이 0이면 생략가능 : range(10)

print(list(range(0,10,1))) 
#리스트는 데이터구조, range()함수. 
#리스트로 데이터구조를 만들어야 함. 
print(tuple(range(0,10,1))) 
print(set(range(0,10,1))) 

'웹_프론트_백엔드 > Python' 카테고리의 다른 글

2020.01.23  (0) 2020.01.23
2020.01.22  (0) 2020.01.22
2020.01.20  (0) 2020.01.20
2020.01.17  (0) 2020.01.19
2020.01.16  (0) 2020.01.17