분류 전체보기 (165)
과학 꼼지락 (35)
수학 꼼지락 (41)
 시 꼼지락 (21)
언어 꼼지락 (6)
잡다 꼼지락 (61)
비밀 꼼지락 (0)
BLOG main image





언어 꼼지락
2008.12.28 11:55
#The first counting program
count = 0
for num in t:
if low < num < high
count = count + 1
print count

#encapsulate the code in a function called inBucket
def inBucket(t, low, high)
count = 0
for num in t:
   if low < num < high
  count = count + 1
print count

#When the number of buckets increases, inBucket gets a little unwieldy.
#So, we'll call inBucket repeatedly and update the i-eth element of the list:
numBuckets = 8
buckets = [0] * numBuckets
bucketWidth = 1.0 / numBuckts
for i in range(numBuckets):
low = i * bucketWidth
high = low + bucketWidth
buckets[i] = inBucket(t, low, high)
print buckets

#A single-pass solution ( FASTER METHOD )
numBuckets = 8
buckets = [0] * numBuckets
for i in t:
index = int(i * numBuckets)
buckets[index] = buckets[index] + 1

___
마지막 코딩은 꽤나 멋지다. 저런 생각을 할 줄 알아야 하기때문에 프로그래밍을 하려면 머리가 좋아야 한다는 것인가보다. 저번에 게임짤때 저런생각을 못했었는데... 어서가서 수정해야지.

코드출처: How to Think Like a Computer Scientist - Learning with Python.

'언어 꼼지락' 카테고리의 다른 글

[Python] 만화한장  (2) 2008.12.29
[Python]List Counting  (0) 2008.12.28
[Python]공부하다 생긴 의문  (6) 2008.12.02
프로그래밍언어 책 추천 부탁드립니다.  (6) 2008.01.21
이름   
비밀번호 
홈페이지 
비밀글