python tutorial - Python exam questions and answers - learn python - python programming




python interview questions :81

How do you to implement the decorator function, using dollar()?

Here is the code:

def dollar(fn):
    def new(*args):
        return '$' + str(fn(*args))
    return new

@dollar
def price(amount, tax_rate):
    return amount + amount*tax_rate

print price(100,0.1)
click below button to copy the code. By Python tutorial team

output

$110

python interview questions :82

How to do binary search using recursive function?

# returns True if found the item
# otherwise, returns False
def bSearch(a, item):
   if len(a) == 0:
      return False
   mid = len(a)/2
   if a[mid] == item:
      return True
   else:
      if a[mid] < item:
         return bSearch(a[mid+1:], item)
      else:
         return bSearch(a[:mid], item)

if __name__ =="__main__":
   a = [1,3,4,5,8,9,17,22,36,40]
   print bSearch(a, 9)
   print bSearch(a, 10)
   print bSearch(a, 36)
click below button to copy the code. By Python tutorial team

Output:

True
False
True
 python-pre-order

Learn python - python tutorial - python-pre-order - python examples - python programs

python interview questions :83

How to perform Iterative binary search?

# returns True if found the item
# otherwise, returns False
def bSearch(a, item):
   st = 0
   end = len(a)-1
   mid = len(a)/2
   left = st
   right = end
   while True:
      # found
      if a[mid] == item:
         return True
      # upper
      elif a[mid] < item:
         left = mid + 1
      # lower
      else:
         right = mid - 1

      mid = (left+right)/2
      if mid < st or mid > end: break
      if left == right and a[mid] != item: break
   return False

if __name__ =="__main__":
   a = [1,3,4,5,8,9,17,22,36,40]
   print bSearch(a, 9)
   print bSearch(a, 10)
   print bSearch(a, 36)
   print bSearch(a, 5)
   print bSearch(a, 22)
click below button to copy the code. By Python tutorial team

Output:

True
False
True
True
True

python interview questions :84

How to Convert domain to ip?

  • If you have a file that lists domain names. you want to write a Python function that takes the file and returns a dictionary that has a key for the domain and a value for ip.
  • For example, the input file ('domains.txt') looks like this:
google.com
yahoo.com
click below button to copy the code. By Python tutorial team

Output :

{'yahoo.com': '98.139.183.24', 'google.com': '216.58.192.14'}
 python-name-server

Learn python - python tutorial - python-name-server - python examples - python programs

python interview questions :85

How to count the number of instances?

  • If you have a class A, and You want to count the number of A instances.
  • Hint : use staticmethod
class A:
   total = 0

   def __init__(self, name):
     self.name = name
     A.total += 1

   def status():
      print "Total number of instance of A : ", A.total
   status = staticmethod(status)


a1 = A("A1")
a2 = A("A2")
a3 = A("A3")
a4 = A("A4")

A.status()

click below button to copy the code. By Python tutorial team

Output:

Total number of instance of A :  4

python interview questions :86

How to do floor operation on using integers?

  • To Write a floor division function without using '/' or '%' operator. For example, f(5,2) = 5/2 = 2, f(-5,2) = -5/2 = -3.

CODE:

def floor(a,b):
   count = 0
   sign = 1
   if a < 0: sign = -1
   while True:
      if b == 1: return a
      # positive
      if a >= 0:
         a -= b
         if a < 0: break
      # negative
      else:
         a = -a - b
         a = -a
         if a > 0:
            count += 1
            break
      count += 1
   return count*sign

from random import randint
n = 20
while n > 0:
  a, b = randint(-20,20), randint(1,10)
  print '%s/%s = %s' %(a,b, floor(a,b))
  n -= 1
click below button to copy the code. By Python tutorial team

Output:

11/4 = 2
3/5 = 0
11/5 = 2
10/1 = 10
-6/9 = -1
14/2 = 7
-4/7 = -1
8/6 = 1
7/1 = 7
-7/1 = -7
-20/5 = -4
11/4 = 2
16/10 = 1
-9/7 = -2
-7/6 = -2
-8/2 = -4
13/7 = 1
-3/2 = -2
-10/2 = -5
-6/1 = -6

python interview questions :87

How do you fetch every other item in the list?

  • Suppose If you have a list like this:
>>> L = [x*10 for x in range(10)]
>>> L
[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
click below button to copy the code. By Python tutorial team

We can use enumerate(L) to get indexed series:

1.	>>> for i,v in enumerate(L):
2.	...    if i % 2 == 0:
3.	...       print v,
4.	... 
5.	0 20 40 60 80
click below button to copy the code. By Python tutorial team

This one may be the simplest solution:

6.	L2 = L[::2]
7.	>>> L2
8.	[0, 20, 40, 60, 80]
click below button to copy the code. By Python tutorial team

python interview questions :88

Write a code that prints out n Fibonacci numbers?

# iterative
def fibi(n):
 a, b = 0, 1
 for i in range(0,n):
a, b = b, a+b
 return a
# recursive
def fibr(n):
if n == 0: return 0
if n == 1: return 1
return fibr(n-2)+fibr(n-1)
for i in range(10):
print (fibi(i), fibr(i))
click below button to copy the code. By Python tutorial team

Output:

(0, 0)
(1, 1)
(1, 1)
(2, 2)
(3, 3)
(5, 5)
(8, 8)
(13, 13)
(21, 21)
(34, 34)

python interview questions :89

(a_1 + a_n) * N / 2 - sum
click below button to copy the code. By Python tutorial team

Will give the missing integer.

a=[1,2,3,4,5,7,8,9,10]
find = sum(range(a[0],a[-1]+1)) - sum(a)
print find
click below button to copy the code. By Python tutorial team

Output:

6

python interview questions :90

How to Remove duplicate element from a list ?

Sometimes we may want to remove duplicate elements from a list:

L = [5,3,7,9,5,1,4,7]
newL = []
[newL.append(v) for v in L if newL.count(v) == 0]
print newL
click below button to copy the code. By Python tutorial team

This will print out:

[5, 3, 7, 9, 1, 4]

Or simply we can do it:

newL = list(set(L))
click below button to copy the code. By Python tutorial team

Related Searches to Python exam questions and answers

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We don't have any banner, Flash, animation, obnoxious sound, or popup ad. We do not implement these annoying types of ads!

We need money to operate the site, and almost all of it comes from our online advertising.

Please add wikitechy.com to your ad blocking whitelist or disable your adblocking software.

×