ตุลาคม 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()

กันยายน 20, 2558

Lab4x_Sum-of-1-to-N & Multiplication-Table & Sum-of-Prime-Number & Monthly-Loan-Payment

# Sum Of 1 to N
def setup():
   n = 15
   sumOfOneToN(n)
def sumOfOneToN(n):
   sum = 0
   print("N = ",n)
   while(n>0):
      sum += n
      n -= 1
   print("sum of int from 1 to N = ",sum)
setup()



# Multiplication Table
def setup():
   num = 13
   multipli_table(num)
def multipli_table(n):
   multi = 1
   print("Multiplication-Table of ",n)
   while(multi <= 12):
      print(n," x ",multi," = ",(n*multi))
      multi += 1
setup()



# Sum of Prime Number
def setup():
   final_num = 100
   primeCal(final_num)
def primeCal(n):
   result = 0
   num = 1
   print("Sum of Prime number from 1 to",n)
   while(num<=n):
      primeNum = True
      i = 2
      while(i<num and primeNum):
         if((num%i) == 0):
            primeNum = False
         i += 1
      if(primeNum):
         result += num
      num += 1
   print("result =",result)
setup()



# Monthly loan payment
def setup():
   loan = 5000
   interest_rate = 12  # percent
   loan_term = 12      # months
   loanCal(loan, interest_rate, loan_term)

def loanCal(loan, interest_rate, loan_term):
   balance = loan
   total_interest = 0
   count=1
   j = interest_rate/100/12
   payMonthly = loan*(j/(1-(pow(1+j,-loan_term))))
   print("***** Monthly Loan Payment *****")
   print(" Loan Amount : $",loan)
   print(" Loan Term   : ",loan_term," months")
   print(" Interest Rate : ",interest_rate,"%")
   print("************************************")
 
   print("Payment NO.|   Balance   |   Interest   | Principal | Unpaid Balance | Total Interest to Date")
   while (count<=loan_term):
      interest = j*balance
      principal = payMonthly-interest
      print("     ",round(count),"       ",round(balance),"         ",round(interest),"         ",round(principal), end="")
      balance -= principal
      total_interest += interest
      print("          ",round(balance),"            ",round(total_interest))
      count += 1
   print("Payment Every Month : $",payMonthly)
   print("Total of 12 Payments : $",(loan+total_interest))
   print("Total Interest : $",total_interest)
setup()

Lab4x_Grade-Calculation & Leap-Year & Power-of-Ten & Delivery-Charge

# Grade Calculation
def setup():
   score = 60
   gradeCal(score)
def gradeCal(s):
   print("Score = ",s)
   if(s>=80 and s<=100):
      print("Grade : A")
   elif(s>=70 and s<80):
      print("Grade : B")
   elif(s>=55 and s<70):
      print("Grade : C")
   elif(s>=40 and s<55):
      print("Grade : D")
   elif(s>=0 and s<40):
      print("Grade : F")
   else:
      println("Grade : -")
setup()



# Leap Year
def setup():
   year = 1800
   leapYear(year)
def leapYear(y):
   print("Year = ",y);
   if(y%400==0 or (y%4==0 and y%100!=0)):
      print("Leap Year")
   else:
      print("Not Leap Year")
setup()



# Power of ten
def setup():
   powerTen = 29
   powerOfTen(powerTen)
def powerOfTen(p):
   print("Power-of-ten = ",p)
   if(p>=100):
      if(p>100):
         print("Number = Googol++")
      else:
         print("Number = Googol")
   elif(p>=30):
      if(p>30):
         print("Number = Nonillion++")
      else:
         print("Number = Nonillion")
   elif(p>=21):
      if(p>21):
         print("Number = Sextillion++")
      else:
         print("Number = Sextillion")
   elif(p>=18):
      if(p>18):
         print("Number = Quintillion++")
      else:
         print("Number = Quintillion")
   elif(p>=15):
      if(p>15):
         print("Number = Quadrillion++")
      else:
         print("Number = Quadrillion")
   elif(p>=12):
      if(p>12):
         print("Number = Trillion++")
      else:
         print("Number = Trillion")
   elif(p>=9):
      if(p>9):
         print("Number = Billion++")
      else:
         print("Number = Billion")
   elif(p>=6):
      if(p>6):
         print("Number = Million++")
      else:
         print("Number = Million")
   else:
      print("Number = --")
setup()



# Delivery Charge
def setup():
   packaging = 2  # (1)letter
                  # (2)box
   service = 1    # (1)Next-Day-Priority
                  # (2)Next-Day-Standard
                  # (3)2-Day
   weight = 11    # oz unit for letter
                  # pound unit for box
   error = False

   if(packaging == 1):
      print("type of packaging = letter")
   elif(packaging == 2):
      print("type of packaging = box")
   else:
      print("type of packaging = Error")
      error = True

   if(service == 1):
      print("service = Next-Day-Priority")
   elif(service == 2):
      print("service = Next-Day-Standard")
   elif(service == 3):
      print("service = 2-Day")
   else:
      print("service = Error")
      error = True

   if(packaging == 1):
      print("Weight = ",weight," oz")
   elif(packaging == 2):
      print("Weight = ",weight," pound")

   #Calculation
   if(error == True):
      print("The charge = Error")
   elif(packaging == 1):
      if(service == 1):
         if(weight <= 8):
            print("The charge = $12.00")
         else:
            print("Error : Over Load")
      elif(service == 2):
         if(weight <= 8):
            print("The charge = $10.50")
         else:
            print("Error : Over Load")
      else:
         print("This service is not available")
   else:
      if(service == 1):
         value = 15.75+((weight-1)*1.25)
      elif(service == 2):
         value = 13.75+((weight-1)*1.00)
      else:
         value = 7.00+((weight-1)*0.50)
      print("The charge = $",value)

setup()