티스토리 뷰

반응형
'''
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
Python01 : 파이썬?  (0) 2014.08.11
프로필사진

Yowu (Yu Yongwoo)

흔한 Node.js/Java 백엔드 개발자입니다
Ubuntu와 MacOS 데스크탑 개발 환경을 선호합니다
최근에는 vscode와 IntelliJ를 사용하고 있습니다
vscode에는 neovim, IntelliJ는 ideaVim
개발용 키보드는 역시 HHKB Pro 2 무각입니다
락 밴드에서 드럼을 쳤습니다

최근에 올라온 글
최근에 달린 댓글
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함
Total
Today
Yesterday