ตุลาคม 04, 2558

Lab5_strings

def setup():
   print(my_count("Thailand","a"))
   print(my_find("Thailand","i"))
   print(my_replace("Thailand","land","thai"))
   print(my_strip("Thailand     "))
   print(my_startswith("Thailand","Sun"))
   print(my_endswith("Thailand","and"))
 
def my_count(full,part):
   count = 0
   i = 0
   while(i<len(full)):
      if(full[i] == part):
         count = count+1
      i = i+1
   return count

def my_find(full,part):
   i = 0
   while(i<len(full)):
      if(full[i] == part):
         index = i
         break
      i = i+1
   return index

def my_replace(full,old,new):
   newStr = ""
   l = len(old)
   i = 0
   while(i<len(full)):
      a = full[i]
      j = 1
      while(j<l and i+j<len(full)):
         a = a+full[i+j]
         j = j+1
      if(a == old):
         newStr = newStr+new
         i = i+(l-1)
      else:
         newStr = newStr+full[i]
      i = i+1
   return newStr

def my_strip(full):
   newStr = ""
   i = 0
   while(i<len(full)):
      if(full[i] != ' '):
         start = i
         break
      i = i+1
   i = len(full)-1
   while(i>=0):
      if(full[i] != ' '):
         end = i
         break
      i = i-1
   j = start
   while(j<=end):
      newStr = newStr+full[j]
      j = j+1
   return newStr
 
def my_startswith(full,start):
   result = True
   l = len(start)
   i = 0
   while(i<l):
      if(full[i] != start[i]):
         result = False
         break
      i = i+1
   return result
 
def my_endswith(full,end):
   result = True
   l = len(end)
   i = len(full)-l
   j = 0
   while(i<len(full)):
      if(full[i] != end[j]):
         result = False
         break
      j = j+1
      i = i+1
   return result

setup()

Lab5_decimal to binary

def setup():
   print("Decimal to Binary")
   num = int(input())
   print(num,"-->",end=" ")
   p = 0
   while(num-(pow(2,p))>=0):
      p = p+1
   n = [0]*p
   i = 0
   while(i<len(n)):
      n[i] = num%2
      num = num/2
      num = round(num-0.1)
      i = i+1
   i = 0
   j = len(n)-1
   while(i<len(n)):
      print(n[j],end="")
      j = j-1
      i = i+1

setup()

Lab5_arrays

def setup():
   n = [-3,21,-5,17,21]
   display(n)
   maximum(n)
   summation(n)
   sum_positive(n)
   count_positive(n)
   average(n)
   increase(n)

def display(a):
   i = 0
   while(i<len(a)):
      print("a [",i,"] =",a[i])
      i = i+1

def maximum(a):
   i = 1
   value = a[0]
   while(i<len(a)):
      if(value<a[i]):
         value = a[i]
      i = i+1
   print("maximum value =",value)
   i = 0
   searching = True
   while(i<len(a) and searching):
      if(a[i]==value):
         searching = False
      i = i+1
   print("index of first max value =",i-1)
   i = len(a)-1
   searching = True
   while(i>=0 and searching):
      if(a[i]==value):
         searching = False
      i = i-1
   print("index of last max value  =",i+1)

def summation(a):
   i = 0
   value = 0
   while(i<len(a)):
      value = value+a[i]
      i = i+1
   print("Sum of values =",value)

def sum_positive(a):
   i = 0
   value = 0
   while(i<len(a)):
      if(a[i]>0):
         value = value+a[i]
      i = i+1
   print("Sum of positive values =",value)

def count_positive(a):
   i = 0
   count = 0
   print("positive values = ",end="")
   while(i<len(a)):
      if(a[i]>0):
         print(a[i]," ",end="")
         count = count+1
      i = i+1
   print("")
   print("count of positive values =",count)

def average(a):
   i = 0
   value = 0
   while(i<len(a)):
      value = value+a[i]
      i = i+1
   avg = value/len(a)
   print("average of values =",avg)

def increase(a):
   i = 0
   percent = int(input())
   print("new array increase by:",percent,"%")
   while(i<len(a)):
      a[i] = a[i]+(a[i]*percent/100)
      print("a [",i,"] =",a[i])
      i = i+1

setup()