Thursday, July 9, 2015
Python: list(4) return a region with a given number
Abstract: return a region with a given number
The result:
Old list: [2, 4, 8, 12, 33, 35, 43, 53, 54, 98]
middle element= 35
54 98
The script:
# -*- coding: utf-8 -*-
"""
Created on Thu Jul 9 17:20:07 2015
@author: yuan
"""
#get a region with a given number
class search_region:
def __init__(self, arr):
self.arr=arr
self.len=len(arr)
self.index=0
print 'Old list:', arr
def get_region(self, number):
if number<self.arr[0] or number>self.arr[-1]:
print number, 'is out of this region!'
else:
middle_index=int(self.len/2)
middle=self.arr[middle_index]
print 'middle element=',middle
if number<middle:
a=0
b=middle_index
elif number >=middle:
a=middle_index
b=self.len
while((b-a)>1):
if self.arr[a+1]<=number:
a+=1
if self.arr[b-1]>=number:
b-=1
print self.arr[a], self.arr[b]
return a,b
#main programming
arr=[2,35,53,4,8,54,43,98,12,33]
arr.sort()
#
sg=search_region(arr)
sg.get_region(97)
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment