# Python Exercise 3

```-------> file name hello.py
def foo():
print "Hello Amar Sharma"

if __name__ == "__main__":
foo()```
``` Exercise: Take the following list, nlis, and compute its average. That is, write a function 'average(numlis)' that uses a 'for' loop to sum up the numbers in numlis and divide by the length of numlis. Just to be sure that you got all the numbers in numlis, print each one in your 'for' loop and print the length of the the list. nlis = [2,4,8,105,210,-3,47,8,33,1] # average should by 41.5 Exercise : Write a function multiply(num1,num2) which prints the multiplication of the two numbers. Careful to take care of the input type.

------------------- Sample for Debugging and Profiler ---------------------
import re

import sys

import time

def if_statement():

""" Three slightly difference versions of if: if, if-else, if-elif-else"""

time.sleep(1)

x = 5

y = 0

z = 0

if x > 0:

print "x is positive"

if y > 0:

print "y is positive"

else:

print "y is not positive"

# elif can be repeated as often as necessary

if z > 0:

print "z is positive"

elif z < 0:

print "z is negative"

else:

print "z must be 0"

def foo():

print "Hello Amar Sharma"

def hello():

""" prints hello, world """

print("Hello, world!")

if __name__ == "__main__":

foo()

hello()

if_statement()

Sample Output

Anants-MacBook-Pro:pythonexamplesset1 amars\$ python -m pdb /tmp/d.py ```
```> /tmp/d.py(1)<module>()

-> import re

(Pdb) n

> /tmp/d.py(2)<module>()

-> import sys

(Pdb) n

> /tmp/d.py(3)<module>()

-> import time

(Pdb) n

> /tmp/d.py(5)<module>()

-> def if_statement():

(Pdb) n

> /tmp/d.py(28)<module>()

-> def foo():

(Pdb) n

> /tmp/d.py(30)<module>()

-> def hello():

(Pdb) n

> /tmp/d.py(34)<module>()

-> if __name__ == "__main__":

(Pdb) n

> /tmp/d.py(35)<module>()

-> foo()

(Pdb) s

--Call--

> /tmp/d.py(28)foo()

-> def foo():

(Pdb) s

> /tmp/d.py(29)foo()

-> print "Hello Amar Sharma"

(Pdb) s

Hello Amar Sharma

--Return--

> /tmp/d.py(29)foo()->None

-> print "Hello Amar Sharma"

(Pdb) s

> /tmp/d.py(36)<module>()

-> hello()

(Pdb) s

--Call--

> /tmp/d.py(30)hello()

-> def hello():

(Pdb) s

> /tmp/d.py(32)hello()

-> print("Hello, world!")

(Pdb) s

Hello, world!

--Return--

> /tmp/d.py(32)hello()->None

-> print("Hello, world!")

(Pdb) s

> /tmp/d.py(37)<module>()

-> if_statement()

(Pdb) s

--Call--

> /tmp/d.py(5)if_statement()

-> def if_statement():

(Pdb) s

> /tmp/d.py(8)if_statement()

-> time.sleep(1)

(Pdb) s

> /tmp/d.py(9)if_statement()

-> x = 5

(Pdb) p x

*** NameError: NameError("name 'x' is not defined",)

(Pdb) n

> /tmp/d.py(10)if_statement()

-> y = 0

(Pdb) p x

5

(Pdb) h

Documented commands (type help <topic>):

========================================

EOF    bt         cont      enable  jump  pp       run      unt

a      c          continue  exit    l     q        s        until

alias  cl         d         h       list  quit     step     up

args   clear      debug     help    n     r        tbreak   w

b      commands   disable   ignore  next  restart  u        whatis

break  condition  down      j       p     return   unalias  where

Miscellaneous help topics:

==========================

exec  pdb

Undocumented commands:

======================

retval  rv

(Pdb) q```
` `