티스토리 뷰

'''
Created on 2014. 8. 9.

@author: uyu423
'''

import random;

def bokbulbok(num):
    box = list(range(0,num))
    random.shuffle(box)
    lucky = random.randint(0,100) % (num)
    for data in box:
        input("당황하지 말고 Enter");
        if data == lucky:
            print("당첨")
            return
        else:
            print("꽝")
        
    
def main():
    bokbulbok(6)
    
if __name__ == '__main__':
    main()


if __name__ == '__main__' :

main()

파이썬 실행시 처음 실행되는 부분이다. 언더바(_)가 앞뒤로 2개씩 붙는 단어들은 파이썬 내부의 중요 메소드나 필드다. 개발자들이 함부로 오버라이딩 하지 못하게 저렇게 해놓았다고 한다. 프로그램이 시작되면서 main()을 실행한다. 함수가 없다면 이 부분이 없어도 프로그램은 굴러간다.


def main():

파이썬에서 함수는 def 로 선언 할 수 있다. main이라는 함수를 선언하고 내부에서 bokbulbok 이라는 함수를 또 선언한다.


def bokbulbok(num) :

복불복이라는 함수는 num이라는 인자를 받아온다. 파이썬은 자료형이 엄격하지 않으므로 Java나 C 랑은 다르게 변수에 자료형을 명시해주지 않아도 된다.


box = list(range(0,num))

range는 0, num 까지 범위를 나타내는 메소드고 list는 배열같은 친구인데 스택에 가깝다. 뜻은 box라는 변수에 0부터 num을 list 형태로 넣겠다.


import random

random.shuffle(box)

random.randint(0,100)

랜덤값과 관련된 함수를 사용하기 위해서는 random을 import 해주어야 한다. random.shuffle은 인자로 들어온 놈을 무작위로 섞는다. random.radint 메소드는 두 인자의 범위 내의 랜덤 값을 생성한다.


for data in box :

data라는 새로운 변수를 생성하고 box에 담긴 자료(list) 갯수만큼 반복한다. 만약 상수 값 범위를 지정한다면 for i in range(0, 100) : 으로도 쓸 수 있다.


if data == lucky

조건문이다. 괄호만 없을 뿐이지 다른 언어와 비슷하다.





저작자 표시 비영리 변경 금지
신고

'개인공부 > Python' 카테고리의 다른 글

Python03 : 파이썬 객체지향 예제  (0) 2014.08.12
Python02 : 조건문, 반복문, 함수 예제  (0) 2014.08.12
Python01 : 파이썬?  (0) 2014.08.11
프로필사진

Yowu (Yu Yongwoo)

My MBTI type is ENTP. (Of course I do not believe it 100%, but I want to do that) I use Node.js to develop the backend. I use Ubuntu Linux as my development environment, and I love Vim. I am interested in open source and are keen to contribute. I have a bachelor's degree in computer science from Catholic University and now a software engineer at Plating Inc., I spent about 5 years developing and learning, and I am still interested in software development and culture. Recently, I am interested in React, Serverless structure, Domain Design Driven. Sometimes I play drums in the band.