Functions and Methods Homework

Complete the following questions:


Write a function that computes the volume of a sphere given its radius.


In [5]:
import math 

def vol(rad):
    return 4/3*math.pi*(rad**(3))

In [6]:
vol(2)


Out[6]:
25.132741228718345

Write a function that checks whether a number is in a given range (Inclusive of high and low)


In [8]:
def ran_check(num,low,high):
    return low <= num <= high

In [10]:
ran_check(3,4,5)
ran_check(3,1,100)


Out[10]:
True

If you only wanted to return a boolean:


In [11]:
def ran_bool(num,low,high):
    return low <= num <= high

In [12]:
ran_bool(3,1,10)


Out[12]:
True

Write a Python function that accepts a string and calculate the number of upper case letters and lower case letters.

Sample String : 'Hello Mr. Rogers, how are you this fine Tuesday?'
Expected Output : 
No. of Upper case characters : 4
No. of Lower case Characters : 33

If you feel ambitious, explore the Collections module to solve this problem!


In [15]:
def up_low(s):
    
    nUpper = 0
    nLower = 0
    
    for word in s.split(): 
        for letter in word: 
            if letter.isupper():
                nUpper += 1
            elif letter.islower():
                nLower += 1
    print 'No. of Upper case character : %d' % nUpper
    print 'No. of Lower case character : %d' % nLower

In [16]:
up_low('Hello Mr. Rogers, how are you this fine Tuesday?')


No. of Upper case character : 4
No. of Lower case character : 33

Write a Python function that takes a list and returns a new list with unique elements of the first list.

Sample List : [1,1,1,1,2,2,3,3,3,3,4,5]
Unique List : [1, 2, 3, 4, 5]

In [21]:
def unique_list(l):
    return list(set(l))

In [22]:
unique_list([1,1,1,1,2,2,3,3,3,3,4,5])


Out[22]:
[1, 2, 3, 4, 5]

Write a Python function to multiply all the numbers in a list.

Sample List : [1, 2, 3, -4]
Expected Output : -24

In [23]:
def multiply(numbers):  
    return reduce(lambda x,y: x*y, numbers)

In [24]:
multiply([1,2,3,-4])


Out[24]:
-24

Write a Python function that checks whether a passed string is palindrome or not.

Note: A palindrome is word, phrase, or sequence that reads the same backward as forward, e.g., madam or nurses run.


In [26]:
def palindrome(s):
    return s[::-1] == s

In [27]:
palindrome('helleh')


Out[27]:
True

Hard:

Write a Python function to check whether a string is pangram or not.

Note : Pangrams are words or sentences containing every letter of the alphabet at least once.
For example : "The quick brown fox jumps over the lazy dog"

Hint: Look at the string module


In [57]:
import string

def ispangram(str1, alphabet=string.ascii_lowercase):  
    # str1 = str1.lower()
    str1 = str1.lower().replace(" ","")
    return set(str1) == set(alphabet)

In [59]:
ispangram("The quick brown fox jumps over the lazy dog")


Out[59]:
True

In [60]:
string.ascii_lowercase


Out[60]:
'abcdefghijklmnopqrstuvwxyz'

Great Job!