chapter 3 문자열, 리스트, 튜플, 맵

1. 문자열

nums = '%s: hi %s'

print nums % ('a','10')


2. 리스트

(1) 리스트는 [ ] 사이에 문자열을 담을 수 있음 c의 배열과 같음

(2) append : 항목 추가하기

(3) del wizard_list[5] : 특정 문자 삭제하기

(4) 리스트 연산

+ : 리스트 두개를 앞 뒤로 붙인다.

* : 리스트를 곱하기 숫자만큼 반복


3. 튜플

(1) 튜플은 ( ) 사이에 문자열이나 숫자를 담을 수 있음 java의 final 배열과 같아서 한번 선언하면 수정할 수 없음


4. 맵

리스트와 튜플처럼 어떤 것들의 집합

dict라고도 알려짐

각각의 항목들은 키와 그에 대응하는 값을 갖는다.

각각의 키와 값을 구분하기 위해서 콜론을 사용하며, 각 키와 값은 홑따옴표로 둘러싸인다.


chapter5. if와 else로 물어보자.

None : 아무런 값이 없는 변수


chapter6. 빙글빙글 돌기

print list(range(10, 20))



신고
Posted by 공놀이나하여보세

몬티홀 문제 만으로도 얘기가 길어져서 여기로 따로 빼 두었다.

몬티홀은 베이지안 문제가 아니다. 그냥 확률 문제이다.

이걸 코드로 짜보니 이유를 알겠다.


import random


length = 100000

list = [random.randrange(0,3) for i in range(length)]

#print list


o_true_sum = 0

o_false_sum = 0

c_true_sum = 0

c_false_sum = 0

for i in range(length):

    select = random.randrange(0,3)

    if list[i] == select:

         

        #true_sum+=1

        temp = random.randrange(1,3) + list[i]

        if temp == 3:

            temp = 0

        #print list[i], 'correct', temp        

        o_true_sum+=1

        c_false_sum+=1

        

    else:

        #false_sum+=1

        temp = random.randrange(1,3) + list[i]

        if temp == 3:

            temp = 0

        #print list[i], 'false', temp             

        o_false_sum+=1

        c_true_sum+=1

        

    

print 100 * o_true_sum/length

print 100 * c_true_sum/length


허접하지만 코드를 만들어서 돌려보았다.

만들다 보니 알았다.

바꾸는 것이 맞을 확률이 더 높다. 


왜냐하면 바른 걸 선택할 확률은 1/3 즉 33.3%이다. 

만약 바꾸지 않으면 바른 걸 선택했다는 가정하에 맞출 확률은 100%이다.


틀린걸 선택할 확률은 2/3 즉 66.6%이다.

66.6%에서 선택을 바꾸지 않으면 맞출 확률은 0%

66.6%에서 선택을 바꾸면 맞출 확률은 100%이다. 

왜냐하면 몬티홀이 잘못된 거 하나를 빼주었기 때문이다.

따라서 틀린걸 선택한 경우 바꾸면 맞출 확률은 100%이다.


게스트는 처음 선택이 틀릴 확률이 66.6%로 맞출 확률이 33%보다 2배 높다.

그렇기 때문에 게스트는 자신이 처음에 틀렸다는 가정하에 결정을 해야 한다.

게스트가 자신이 틀렸다는 가정을 하고나서 결정을 해야 한다면 그렇다.

자신의 답을 바꾸면 맞출 확률이 100%가 되므로 선택을 바꾸는 것이 확률이 더 높다.



신고
Posted by 공놀이나하여보세

1. virtualenv 및 virtualenvwrapper 설치

virtualenv : 해당 폴더에 환경 파일이 생김

virtualenv wrapper : 로컬에 환경 파일이 생겨서 wrapper를 사용하는 게 좋음



sudo pip install virtualenv

sudo pip install virtualenvwrapper


*환경 설정

mkdir ~/.python_virtual_envs

 

# 아래 내용을 ~/.bashrc 마지막에 저장한다.

export WORKON_HOME=~/.python_virtual_envs

source /usr/local/bin/virtualenvwrapper.sh # 각종 PATH 등을 설정해줌.


2. 사용 방법

mkvirtualenv STUDY : study라는 환경을 만듬

workon (tab) : 환경이 무엇이 있는지 검색

workon STUDY : study환경 시작

deactivate : 환경 종료


pip freeze > requirements.txt : 환경 설정 저장

pip install -r requirements.txt : 환경 설정 설치


sudo apt-get install python-dev 가 필요할 수도 있음


신고
Posted by 공놀이나하여보세