출처: https://bumcrush.tistory.com/182 [맑음때때로 여름]
# Chapter06_01
# 클래스 (ㅋㅋ붕어빵기계)
# OOP(객체 지향 프로그래밍), self, 인스턴스 메소드, 인스턴스 변수


# 클래스와 and  인스턴스의 차이를 이해하는 것이 중요
# 네임스페이스 : 객체를 인스턴스화 할 때 저장된 공간
# 클래스 변수 : 직접 접근 가능, 공유 (정수기! 공용화장실! 같은 것 ㅋㅋ)
# 인스턴스 변수 : 객체마다 별도 존재.

# 예제1)
# class dog():, class dog:, class(object):
class dog(): #object 상속
    # 클래스 속성
    specied = 'firstdog' #클래스 변수.

    # 초기화/인스턴스 속성 (java생성자)
    def __init__(self,name, age):
        self.name = name
        self.age = age


# 클래스 정보
print(dog)

# 인스턴스화 (- 코드로 구현해서 메모리에 올라간 시점.)
a = dog('happy',15)
b = dog('micky',2)
c = dog('micky',2)
# 비교
print(a == b, id(a), id(b))
print(a == c, id(b), id(c))

# 네임스페이스
print('dog1',a.__dict__)
print('dog2',b.__dict__)

# 인스턴스 속성 확인
print('{} is {} and {} is {}'.format(a.name, a.age, b.name, b.age))

if a.specied == 'firstdog':
    print('{0} is a {1}'.format(a.name, a.specied))

print(dog.specied) # 클래스에서도
print(a.specied) # 인스턴스변수에서도 바로 접근 공유 가능하다. (같은값.)


# 예제2) - self의 이해. (this같은 느낌인듯)

class SelfTest:
    def func1():
        print('func1 called')
    def func2(self): #__init__이 없어도 알아서 생성해주는 똑쟁이 파이썬..
        print(id(self)) #f값.
        print('func2 called')

f = SelfTest()

print(dir(f)) #func1과 func2가 있음을 확인 가능
print(id(f))

# f.func1() 에러! 예외.
f.func2() # self가 있는 인스턴스 메서드
SelfTest.func1() # 클래스로바로 접근해서 접근. (매개변수가 없는 클래스메소드)
                # self가 있으면 인스턴스화 시킨 변수가 self로 넘어감.
# SelfTest.func2() 반대로 에러! 예외
SelfTest.func2(f)


# 예제3)
# 클래스 변수, 인스턴스 변수

class Warehouse:
    #클래스 변수
    stock_num = 0 #재고

    def __init__(self, name):
        # 인스턴스 변수
        self.name=name
        Warehouse.stock_num +=1

    def __del__(self):
        Warehouse.stock_num -=1

user1 = Warehouse('Lee')
user2 = Warehouse('Jin')

print(Warehouse.stock_num) # 붕어빵 몇개구웠어! = 2개

print(user1.name)
print(user2.name)
print(user1.__dict__)
print(user2.__dict__)
print('before>>',Warehouse.__dict__) #stock_num:2

del user1
print('after>>',Warehouse.__dict__)

# 예제4

class dog2():
    specied = 'firstdog'

    def __init__(self,name, age):
        self.name = name
        self.age = age

    def info(self):
        return '{} is {} years old'.format(self.name, self.age)

    def speak(self, sound):
        return "{} says {}!".format(self.name, sound)

# 인스턴스 생성
d = dog2('july',4)
e = dog2('merry',10)

# 메서드 호출
print(d.info())
print(e.info())
print(d.speak('wal wal'))
print(e.speak('mung mung'))
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS 선택자</title>

    <style>
        /* 선택자{
            속성이름 : 속성값;
            }  */

        /* 전체선택자 : 전체 폰트 컬러 값 등을 지정 
        *{
            color : purple;
        }*/


        /* 태그선택자 */
        /*
        h1, p, body {margin: 0; padding: 0;}
*/

        h1 {
            background-color: #E2A9F3;
            color: white;
        }

        p {
            color: purple;
        }


        div {
            text-align: center
        }

        form {
            border: 1px solid grey;
        }

        ul {
            border: 1px solid blue;
        }

        li {
            border: 1px solid red;
            color: green;
        }

        /* 아이디 선택자 : #id */

        #header {
            background-color: #A9E2F3;
        }

        #aside {
            background-color: #F6CECE;
        }

        #content {
            background-color: #E0F8EC;
        }

        /* 클래스 선택자 : 요소의 class 속성이 있는 것을 지정하는 선택자 */

        /* div를 붙이면 div이고 클래스가 color_white인 요소 */

        div.color_black {
            color: black;
        }

        .color_red {
            color: red;
        }

        .font_size_32 {
            font-size: 32px;
        }

        .font_weight_bold {
            font-weight: 1000;
        }

        .font_italic {
            font-style: italic;
        }

        /* 속성 선택자 : 선택자[속성이름]*/
        input[type] {
            background-color: darkkhaki;
            color: white;
        }

        /* 속성 선택자 : 선택자[속성이름=값] */
        input[type=button] {
            background-color: aqua;
            padding: 8px;
            margin: 10px;
            font-size: 20px;
            font-weight: bold;
        }

        /*  선택자[속성이름=값 */
        img[src$=png] {
            border: 3px solid red;
        }

        img[src$=gif] {
            border: 3px solid blue;
        }

        img[src$=jpg] {
            border: 3px solid black;
        }

        /* 후손 선택자 : 선택자A 선택자B
        A 태그 하위에 존재하는 태그를 기준으로 B선택자로 선택 */

        #header1 h1 {
            background-color: black;
            color: aliceblue;
            font-size: 16px;
        }

        /* 자손 선택자 : 선택자A(부모) > 선택자B(자손)
        선택자 A로 선택된 태그 바로 아래의 태그들 중 선택자B로 선택 */
        #header1>h1 {
            border: 5px solid pink;
            font-style: italic;
        }

        #nav h1 {
            border: 5px solid aqua;
        }

        /*동위 선택자 : 범위를 한정해서 선택
        선택자A+선택자B > A선택자 태그 바로 뒤에 있는 선택자B
        선택자A~선택자B > A선택자 바로뒤에있는 선택자B 전부. */
        
        #div1>h1+h2{
            background-color : red;
            color : yellow;
        }
        
        /*h1~h2로 하면 h2 다바뀜*/
        #div1>h1+h2~h2 { 
            background-color :black;
            color: aqua;
        }
        
        /* 반응 선택자
        :hover  > 마우스 커서가 특정 태그 위로 올라갈 때
        :active > 마우스 버튼 누르고 있는 상태 */
        
        h1:hover {
            background-color: green;
            cursor: pointer;
        }
        
        h2:active {
            background-color : blue;
            color : white;
        }
        
        /* 상태선택자 
        :check > 체크 상태의 input 태그 선택 > checkox, radio
        :focus > 초점이 맞추어진 input 태그 선택 > 모든 input
        :enabled > 사용 가능한 input 태그 선택
        :disabled >사용 불가능한 input 태그 선택 */
        
        input:enabled{
            border : 1px solid blue;
            background-color: aqua;
        }
        
        input:disabled{
            border : 1px solid red;
            background-color: grey;
        }
        
        input:focus{
            background-color: yellow;
        }
        
        #msg {
            padding:20px;
            background-color : bisque;
            display : none;
        }
        
        input[type=checkbox]:checked+#msg{
            display: block
        }
        
        /*구조선택자*/
        /*잘보기위해 테두리와 ㅇ 없앰*/
        #nav, #nav>li {
            border : 0;
            list-style: none; 
            margin:0;
            padding:0;
        }
        
        #nav{
            margin : 20px 0;
            overflow : hidden;
            /*float : left 속성을 #nav안으로 한정한다*/
        }
        
        #nav>li{
            /* >>> 쪽으로 바뀜 */
            float : left;
            /* 상하 좌우 픽셀*/
            padding : 0 20px;            
            border : 1px solid gray;
        }
        
        #nav>li:first-child{
            border-radius: 10px 0 0 10px;
        }
        
        #nav>li:last-child{
            border-radius: 0 10px 10px 0;
        }
        
        #nav>li:nth-child(2n){
            background-color: mediumaquamarine;
        }
        
        #nav>li:nth-child(2n+1){
            background-color: bisque
        }
        
        /*문자선택자
        ::first-letter
        ::frist-line*/
        
        p::first-letter{
            font-size:300%;
        }
        p::first-line{
            color : darkgreen;
        }
        p::selection{
            background-color: crimson;
            color : bisque;
        }
        
        /* 링크 선택자
        :link
        :visited */
        
        a:link{
            color : black;
            text-decoration-line: none;
        }
        a:visited{
            color : red;
            text-decoration-line: none;
        }
        a:hover{
            color : blue;
        }
        
        a:link:after{
            /*가상태그*/
            content : ' - ' attr(href);    
        }
        
        a:link:before{
            content : attr(href) ' - ' ;    
        }
        
    </style>
</head>

<body>
    
    <!--링크선택자-->
    <h3> 
    <a href="http://naver.com">네이버</a>
    </h3>
    
    
    <!--구조선택자-->
    <ul id="nav">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>        
    </ul>
    
    <!--상태선택자-->
    숨기기 <input type="checkbox">
    <div id="msg" style="text-align: left">
        체크박스를 체크하면 보입니다~
    </div>
    <br>
    <input value="입력가능"> <br>
    <input disabled value="입력불가능">
    
    
    <!--반응선택자-->
    <div id="div2">
        <h1>hover - 1</h1>
        <h2>hover - 2</h2>
    </div>
    <!--동위선택자예제-->
    <div id="div1">
        <h1>Header - 1</h1>
        <h2>Header - 2</h2>
        <h2>Header - 2</h2>
        <h2>Header - 2</h2>
        <h2>Header - 2</h2>
    </div>


    <!--후손/자손선택자예제-->
    <div id="header1">
        <h1 class="title">Lorem ipsum</h1>
        <div id="nav">
            <h1>Navigation</h1>
        </div><br>
    </div><br><br><br>


    <div id="section">
        <h1 class="title">Lorem ipsum</h1>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    </div>


    <!--선택자[속성이름=값] 특정예제-->
    <img src="image/tae1.jpg" width="100">
    <img src="tae6.jpg" width="100">
    <img src="image/tae3.png" width="100">

    <!--속성선택자-->
    <h1>form tag -> input</h1>
    <br>
    <form>
        <ul>
            <li>
                <input type="text">
            </li>
            <li>
                <input type="button" value="Button">
            </li>
            <li>
                <input type="password" value="Button">
            </li>
            <li>
                <input type="button" value="new Button">
            </li>
        </ul>

    </form>

    <br>
    <!--아이디선택자 / 클래스 선택자 예제-->
    <div id="header" class="color_black font_size_32 font_italic">header</div>
    <div id="aside" class="color_red font_weight_bold">aside</div>
    <div id="content" class="color_black">content</div>

    <br>
    <!--태그선택자 / 문자선택자 예제-->
    <h1 class="color_black">방탄소년단, 'Life Goes On' 1억뷰 기록 ”韓가수 최다”</h1>

    <p>
        그룹 방탄소년단이 1억뷰 뮤직비디오를 추가하고 한국 가수 최다 억대 뮤직비디오를
        보유하게 됐다. 방탄소년단이 지난 20일 발표한 새 앨범 ‘BE (Deluxe Edition)’의 
        타이틀곡 ‘Life Goes On’ 뮤직비디오 유튜브 조회수가 11월 22일 오후 5시 48분경 조회수
        1억 건을 넘었다. 이로써 방탄소년단은 통산 27번째 억뷰 뮤직비디오를 보유하게 됨과 
        동시에 한국 가수 최다 기록을 자체 경신했다. 방탄소년단의 ‘BE (Deluxe Edition)’는 
        지금까지 이들이 선보인 정규 시리즈 앨범과는 다른 형태의 앨범으로, 
        지금 이 순간에 느끼는 솔직한 감정, 나아가 앞으로 계속 살아가야 하는 ‘우리’라는 
        존재에 관한 이야기를 담고 있다. 방탄소년단은 ‘Life Goes On’을 통해 열심히 달리다 
        멈춰 설 수밖에 없는, 원치 않는 상황과 마주했지만 “그럼에도 삶은 계속된다”라는 위로의 
        메시지를 전한다.
    </p>
</body></html>

 

'front-end > HTML & CSS' 카테고리의 다른 글

[css] position  (0) 2020.11.24
[css] button / 버튼만들기  (0) 2020.11.24
[css] background  (0) 2020.11.24
[css] attribute / 속성  (0) 2020.11.24
[html5] table  (0) 2020.11.23
[html5] select  (0) 2020.11.23
[html5] form tag / input type  (0) 2020.11.23

1) 테이블 만들기

 

주제 태그 비고
테이블의 구성요소 <table> 테이블을 만드는 태그
<th> 테이블의 헤더 부분 
<tr> 테이블의 행
<td> 테이블의 열
    <table border="1">
	<th>테이블</th>
	<th>만들기</th>
	<tr><!-- 첫번째 줄 시작 -->
	    <td>첫번째 칸</td>
	    <td>두번째 칸</td>
	</tr><!-- 첫번째 줄 끝 -->
	<tr><!-- 두번째 줄 시작 -->
	    <td>첫번째 칸</td>
	    <td>두번째 칸</td>
	</tr><!-- 두번째 줄 끝 -->
    </table>
테이블 만들기
첫번째 칸 두번째 칸
첫번째 칸 두번째 칸

 

 

2) 테이블 디자인

 

주제 속성 비고
테이블의 디자인 변경 border 테두리 / 두께
bordercolor 테두리 / 색상
width 테이블 가로 크기
height 테이블 세로 크기
align 정렬
bgcolor 배경색
colspan 가로합병 (열)
rowspan 세로합병 (행)
<table border="1" bordercolor="#088A29" width ="500" height="300" align = "center" >
<!--티스토리에서는 가로길이 설정이 구려서 일단냅둠-->
    <tr align = "center" bgcolor="#BEF781">
	<td>내용</td>
	<td>수입</td>
	<td>지출</td>
    </tr>
    <tr>
	<td>월급!</td>
	<td>1,000,000</td>
	<td></td>
    </tr>
    <tr>
	<td>점심값</td>
	<td></td>
	<td>5,000</td>
    </tr>
    <tr>
	<td>부모님선물</td>
	<td></td>
	<td>30,000</td>
    </tr>
    <tr>
	<td rowspan="3" align = "center" bgcolor="#BEF781">총계</td>
	<td>수입</td>
	<td>지출</td>
    </tr>
    <tr>
	<td>1,000,000</td>
	<td>35,000</td>	
    </tr>
    <tr>
	<td>남은돈</td>
	<td>965,000</td>	
    </tr>
</table>

 

내용 수입 지출
월급! 1,000,000  
점심값   5,000
부모님선물   30,000
총계 수입 지출
1,000,000 35,000
남은돈 965,000

'front-end > HTML & CSS' 카테고리의 다른 글

[css] position  (0) 2020.11.24
[css] button / 버튼만들기  (0) 2020.11.24
[css] background  (0) 2020.11.24
[css] attribute / 속성  (0) 2020.11.24
[css] 선택자  (0) 2020.11.23
[html5] select  (0) 2020.11.23
[html5] form tag / input type  (0) 2020.11.23
        생일1 <select name="birthyear">
            <option>2020</option>
            <option>1950</option>
        </select>년
        <select name="bmonth">
            <!--value값을 명시해주면 숫자만 받을 수 있다-->
            <option value="1">1월</option>
            <option value="12">12월</option>
        </select>월
        <select name="bday">
            <option>1</option>
            <option>31</option>
        </select>일
        <br>

        생일2
        <input type="date" name="birthday"><br>
생일1
생일2

'front-end > HTML & CSS' 카테고리의 다른 글

[css] position  (0) 2020.11.24
[css] button / 버튼만들기  (0) 2020.11.24
[css] background  (0) 2020.11.24
[css] attribute / 속성  (0) 2020.11.24
[css] 선택자  (0) 2020.11.23
[html5] table  (0) 2020.11.23
[html5] form tag / input type  (0) 2020.11.23

Form tag


type = text :
type = password :
type = checkbox :
type = radio : A B C
type = color :
type = date :
type = datetime-local :
type = month :
type = week :
type = time :
type = email :
type = file :
type = hidden : 화면에는 표현되지 않는다.
type = image :
type = number :
type = range :
type = tel :
type = url :

type = sumbmit :
type = reset :

 

 

 

<!DOCTYPE html>
<!-- HTML5 문서임을 정의 -->
<html lang = "ko">
    <head>
        <title>form tag 연습</title>
        <meta charset="utf-8">
        <style></style>
        <script></script>
    </head>
    <body>
    
        <h1>Form tag</h1>
        <hr> <!--선-->
        
        <!--
        서버로 전송하고자 하는 폼 데이터를 묶는다.
        action : 데이터를 전송할 경로 - 위치
        method : 전송하는 방식 - get / post 방식
        -->
        <form action="#" method="get">
        
            type = text : <input type="text" name="username"><br>
            type = password : <input type="password" name="password"><br>
            type = checkbox : <input type="checkbox" name="chk" value="ok"><br>
            type = radio : 
            A <input type="radio" name="choice" value="A">
            B <input type="radio" name="choice" value="B">
            C <input type="radio" name="choice" value="C"><br>
            type = color : <input type="color" name="color"><br>
            type = date : <input type="date" name="date"><br>
            type = datetime-local : <input type="datetime-local" name="localdatetime"><br>
            type = month : <input type="month"><br>
            type = week : <input type="week"><br>
            type = time : <input type="time" name="time"><br>
            type = email : <input type="email" name="email"><br>
            type = file : <input type="file" name="userphoto"><br>
            type = hidden : 화면에는 표현되지 않는다. <input type="hidden" name="idx" value="1"><br>
            type = image : <input type="image" src="dispatch.png" height="50"><br>
            type = number : <input type="number" name="num"><br>
            type = range : <input type="range" name="age" min="0" max="150"><br>
            type = tel : <input type="tel"><br>
            type = url : <input type="url" name="url"><br>
            
            
            
            <br>
            type = sumbmit : <input type="submit"><br>
            type = reset : <input type="reset">
   
        
        </form>
    </body>
</html>

'front-end > HTML & CSS' 카테고리의 다른 글

[css] position  (0) 2020.11.24
[css] button / 버튼만들기  (0) 2020.11.24
[css] background  (0) 2020.11.24
[css] attribute / 속성  (0) 2020.11.24
[css] 선택자  (0) 2020.11.23
[html5] table  (0) 2020.11.23
[html5] select  (0) 2020.11.23
# chapter05_02
# 파이선 사용자 입력
# Input 사용법
# 기본 타입(Str)

# 예제1

name = input("Enter Your Name : ")
grade = input("Enter Your Grade : ")
company = input("Enter Your Company : ")

print(name, grade, company)

# 예제2

number = input("enter number :")
name = input("enter name : ")
print("type : ", type(number), type(name)) #둘다 str로받는다.

# 예제3 (계산)
first_number = int(input("number 1 : "))
second_number = int(input("number 2 : "))

print("두수의 합 : " , first_number+second_number)

# 예제4
float_num = float(input("enter float number : "))
print("num : " float_num)
print("type : " type(float_num))

# 예제5
print("FirstName - {0}, LastName - {1}"
.format(input("enter first name : "),input("enter second name : ")))

'python_basic' 카테고리의 다른 글

[파이썬] 패키지 / init  (0) 2020.11.23
[파이썬] 모듈  (0) 2020.11.23
[파이썬] 클래스  (0) 2020.11.23
[파이썬] 함수 / 람다 (lambda)  (0) 2020.11.23
[파이썬] while문 / while-else  (0) 2020.11.21
[파이썬] for문 / for-else / reversed / range  (0) 2020.11.21
[파이썬] if문  (0) 2020.11.21
# Chapter05_01
# 파이썬 함수(Function)
# 파이썬 함수식 및 람다

# 함수 정의방법
# def function_name(parameter):
#   code

# 예제1)
def first_func(w):
    print("Hello,", w)

word = "Good boy"
first_func(word)



# 예제2
def return_func(w):
    result = "Hello," + str(w)
    return result

x = return_func('goodgirl')
print(x)


# 예제3 (다중반환)

def func_mul(x):
    y1 = x * 10
    y2 = x * 20
    y3 = x * 30
    return y1, y2, y3  # 이런 리턴도 가능!

x, y, z =  func_mul(10)
print(x, y ,z)


# 튜플리턴
def func_mul2(x):
    y1 = x * 10
    y2 = x * 20
    y3 = x * 30
    return (y1, y2, y3) #팩킹해서 튜플로!

q = func_mul2(20)
print(type(q), q)

# 리스트리턴
def func_mul2(x):
    y1 = x * 10
    y2 = x * 20
    y3 = x * 30
    return [y1, y2, y3]

p = func_mul2(30)
print(type(p), p)

def func_mul2(x):
    y1 = x * 10
    y2 = x * 20
    y3 = x * 30
    return {'v1' : y1 , 'v2' : y2 , 'v3' :y3}

d = func_mul2(40)
print(type(d), d, d.items(), d.keys())



# 증요
# *args, **kwargs

# *args(언팩킹)
# *뒤에 단어는 아무거나 가능, 여러개 받기 가능. 튜플에자주사용.

def args_func(*args) :
    for i, v in enumerate(args) :
        print('Result : {}'.format(i), v)
    print('--------')

args_func('Lee')
args_func('Lee','Park','Jin')

# **kwargs
# 딕셔너리로 이해.
def kwargs_func(**kwa) :
    for v in kwa.keys():
        print("{}".format(v), kwa[v])
    print('--------')

kwargs_func(name1='Lee')
kwargs_func(name1='Lee', name2='Park', name3='Jin')

# 전체 혼합
def example(args_1, args_2, *args, **kwargs):
    print(args_1, args_2, args, kwargs)
example(10, 20, 'Lee', 'Kim', 'Park', age1=20, age2=30, age3=40)


# 중첩함수
# 함수안의 함수는 바깥에서 사용 불가.
def nested_func(num):
    def func_in_func(num):
        print(num) #2
    print("In func") #1
    func_in_func(num+100) #2

nested_func(100)


# 람다식 예제
# 메모리 절약, 가독성 향상, 코드 간결
# 함수는 객체 생성 > 리소스(메모리) 할당
# 람다는 즉시 실행 함수 (heap초기화) > 메모리 heap초기화
# 남발 시 가독성이 오히려 감소.

def mul_func(x,y):
    return x*y

lambda x, y : x*y

a = lambda x, y : x*y
print(a(5,6))

def mul2_func(x,y):
    return x*y
###############################
# 일반적 함수 > 변수 할당.
q = mul2_func(10,50)
print(q)
print(mul2_func(10,50))
mul2_func_var = mul_func
print(mul2_func_var(20,50))

# 간단한 것은 람다식으로 사용하는 것이 편함.
lamdbd_mul2_func = lambda x,y:x*y
print(lamdbd_mul2_func(50,50))

def func_final(x, y, func):
    print('>>>>', x * y * func(100,100))

func_final(10,20, mul2_func_var)
func_final(10,20, lambda x,y:x*y) #이름이 없기에 즉시실행!

'python_basic' 카테고리의 다른 글

[파이썬] 모듈  (0) 2020.11.23
[파이썬] 클래스  (0) 2020.11.23
[파이썬] 사용자로부터 입력받기 / input  (0) 2020.11.23
[파이썬] while문 / while-else  (0) 2020.11.21
[파이썬] for문 / for-else / reversed / range  (0) 2020.11.21
[파이썬] if문  (0) 2020.11.21
[파이썬] 집합 ([]) {,}  (0) 2020.11.21
# chapter04_03
# 파이썬 반복문
# while 실습

# while <expr>:
#   <statement(s)>

# 예제1

n=50
while n > 0:
    n-=1
    print(n)


# 예제2
a = ['foo', 'bar','baz']

# while a: = while True :

while a:
    print(a.pop(0))



# 예제3
# break, continue

n = 5

while n>0 :
    n-=1
    if n==2:
        break
    print(n)
print('Loop Ended.') # 4, 3

# 예제4
m = 5

while m>0 :
    m-=1
    if m==2:
        continue
    print(m)
print('Loop Ended.') # 4, 3, 1, 0

# 예제5 - if 중첩

i = 1
while 1 <=10:
    print('i : ',i)
    if i == 6:
        break
    i += 1

# 예제6 while - else

n = 10
while n>0 :
    n-=1
    print(n)
    if n==5:
        break
else :
    print('else out.')


# 예제7
a = ['foo', 'bar', 'baz','qux']
s = 'qux'

i = 0

while i < len(a) : # i < 4
    if a[i] == s:
        print(s, 'found')
        break
    i+=1
else :
    print(s, 'not found in list')


#  무한반복
# while True :

# 예제8

a = ['foo','bar','baz']

while True :
    if not a :
        break
    print(a.pop())

'python_basic' 카테고리의 다른 글

[파이썬] 클래스  (0) 2020.11.23
[파이썬] 사용자로부터 입력받기 / input  (0) 2020.11.23
[파이썬] 함수 / 람다 (lambda)  (0) 2020.11.23
[파이썬] for문 / for-else / reversed / range  (0) 2020.11.21
[파이썬] if문  (0) 2020.11.21
[파이썬] 집합 ([]) {,}  (0) 2020.11.21
[파이썬] 딕셔너리 { : }  (0) 2020.11.21
# chapter04_02
# 파이썬 반복문
# for 실습

# 코딩의 핵심
# for in <collection>
#   <loop body>

import sys
import io

sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')
#한글깨짐 방지


for v1 in range(10) : # 0-9까지 10개.
    print('v1 is :', v1)

for v2 in range(1, 11) : # 1-10까지
    print('v2 is :', v2)

for v3 in range(1,11,2) : # 1-11까지 2개씩 점프
    print('v3 is :', v3)

# 1~1000합을 구하자

sum1 = 0

for v in range(1,1001):
    sum1 += v

print('1-1000까지의 합 :  ',sum1)

# range 함수
print('1-1000까지의 합 : ', sum(range(1,1001)))
print('1-1000까지 4의 배수의 합 : ', sum(range(4,1001,4)))
print(type(range(1,11)))


# iterables : 반복할 수 있는 객체
# iterables data 문자열, 리스트, 튜플, 집합, 딕셔너리
# iterable 리턴 함수 : range, reversed, enumerate, filter, map, zip


# 예제1
names = ['kim','pakr','cho','lee','choi','yoo']

for name in names :
    print ('You are : ', name)

# 예제2
lotto_number = [12, 19, 21, 28, 36, 37]

for n in lotto_number :
    print ("current number : ", n)

# 예제3
word = "beautiful"

for s in word :
    print('word : ', s)

# 예제4
my_info = {
    "name" : "lee",
    "age" : 33,
    "city" : "seoul"
}

for k in my_info:
    print('key :', k , my_info[k])

for v in my_info.values():
    print('value :', v)


# 예제5
# if와 for같이쓰기

name = 'FineAppLE'

#isupper 대문자인지 / islower 소문자인지
for n in name :
    if (n.isupper()):
        print(n)
    else:
        print(n.upper()) #대문자로 출력

# break
numbers = [14, 3, 4, 7, 10, 24, 17, 2, 33, 15, 34, 36, 38]

for num in numbers:
    if num == 34 :
        print ('Found 34!')
        break; #36, 38 은 실행되지 않도록.
    else :
        print('Not Found :', num)


# continue

lt = ["1", 2, 5, True, 4.2, complex(4)] #여러가지자료형
#boolean을 빼고 출력하기
for v in lt :
    if type(v) is bool:
        continue #들여쓰기 생각해놓자 JAVA와다름.
    print("current type :", v,"의 타입은 ", type(v))
    print("multiply by 2:", v*3) # 참고로 true*3=1

# for - else
numbers = [14, 3, 4, 7, 10, 24, 17, 2, 33, 15, 34, 36, 38]

for num in numbers :
    if num == 49 :
        print("Found : 49")
        break
else :
    print("Not Found: 49")
    # for문이 다돌고 break를 만나지 않으면(이 경우 49를 찾지못하면)
    # 마지막에 for-else가 실행된다.

# 구구단 출력 2~9단
for i in range(2,10):
    for j in range(1,10):
        #print(i,"*",j,"= ", i*j)
        print('{:4d}'.format(i*j), end='') #4자리 정수로 출력, end=''
    print()

# 변환 예제
name2 = 'Aceman'
print('reversed :', reversed(name2))
print('reversed :', list(reversed(name2)))
print('Tuple :', tuple(reversed(name2)))
print('set :', set(reversed(name2))) #순서X

'python_basic' 카테고리의 다른 글

[파이썬] 사용자로부터 입력받기 / input  (0) 2020.11.23
[파이썬] 함수 / 람다 (lambda)  (0) 2020.11.23
[파이썬] while문 / while-else  (0) 2020.11.21
[파이썬] if문  (0) 2020.11.21
[파이썬] 집합 ([]) {,}  (0) 2020.11.21
[파이썬] 딕셔너리 { : }  (0) 2020.11.21
[파이썬] 튜플 ()  (0) 2020.11.21
# chapter04_01
# if 실습

import sys
import io

sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')
#한글깨짐 방지

# 기본형식
print(type(True)) #0이 아닌 수, "abc", [1,2,3..] (1,2,3..)
print(type(False)) # 0, "", [], (), {} 비어있음.

# 예1

if True : # if 'a',
    print('good')

if False : # if '',
    print('bad')


# 예2) if-else
if False :
    print('Bad!')
else :
    print('good!')


# 예3) 연산자와 if문

# 관계연산자
# >, <=, <, >=, ==, !=

x=15
y=10

# 양변이 같은 경우
print(x == y)
# 양변이 다른 경우
print(x != y)
# 왼쪽이 클 경우
print(x>y)
#오른쪽이 크거나 같을 경우
print(x <= y)

city=""

if city:
    print("You are in:", city)
else :
    print("please enter your city")



city2="seoul"

if city2:
    print("You are in:", city2)
else :
    print("please enter your city")


# 논리 연산자
# and, or, not


a = 75
b = 40
c = 10


print('and : ', a > b and b > c)
print('or : ', a > b or b > c);
print('not : ', not a > b)
print('not : ', not b < c)


# 산술, 관계, 논리 우선순위
# 산술 > 관계 > 논리
print('e1 : ' , 3+12>7+3)
print('e2 : ', 5+ +10 *3 > 7+3*20)
print('e3 : ', 5+10 > 3 and  not 7+3==10)
# 1) 5+10, 7+3
# 2) 15>3 10==10
# 3) true and not True


sc1=90
sc2='A'

# 예4)
# 복수의 조건이 모두 참일 경우에 실행
# tap키 or 4번 space

if sc1 >=90 and sc2 =='A' :
    print('Paa')
else :
    print('Fail')

# 예5)
id1 = 'vip'
id2 = 'admin'
grade = 'platinum'

if id1 =='vip' or id2 =='admin' :
    print('관리자입장')

if id2 == 'admin' and grade == 'platinum' :
    print('최상위관리자')

# 예6)

num = 90

if num>=90 :
    print('Grade : A')
elif num >=80 :
    print('Grade : B')
else :
    print('과락')

# 예7)
# 중첩 조건문
Grade ='A'
total = 95

if Grade == 'A':
    if total >=90:
        print('장학금 100%')
    elif total >=80:
        print('장학금 80%')
    else :
        print('장학금 50%')
else :
    print('장학금 없음')


# in, not in.

q = [10,20,30]
w = {70,80,90,100}
e = {"name" : "Lee", "city" : "seoul", "grade" : "A"}
r = (10, 12,14)

print(15 in q)
print("seoul" in e.values())

'python_basic' 카테고리의 다른 글

[파이썬] 함수 / 람다 (lambda)  (0) 2020.11.23
[파이썬] while문 / while-else  (0) 2020.11.21
[파이썬] for문 / for-else / reversed / range  (0) 2020.11.21
[파이썬] 집합 ([]) {,}  (0) 2020.11.21
[파이썬] 딕셔너리 { : }  (0) 2020.11.21
[파이썬] 튜플 ()  (0) 2020.11.21
[파이썬] 리스트 []  (0) 2020.11.13

+ Recent posts