Take home Question
urls = ['www.abrakadabra.com/dccEcB/EGdd',
'www.abrakadabra.com/gADFeD/bcAF',
'www.abra.com/AGadbb/eagE',
'www.dabra.com/cffdfD/FCAD',
'www.abra.com/GFGaBE/dcfc',
'www.abra.com/gaFegG/Bdaf',
'www.abrakadabra.com/aGabaf/EEfa',
'www.dabra.com/ceEgFD/bGgc',
'www.dabra.com/bDEffC/bcEA']
min2 which find minimum from given two numbers. Also write a function min3 which can find minimum number from given 3 numbers. Do not make use of bulit in min function.Problem 1
url = 'www.abrakadabra.com/dccEcB/EGdd'
if item not in unique_items:
unique_items.append(item)
return unique_itemsdef unique(items):
unique_items = []
for item in items:
if item not in unique_items:
unique_items.append(item)
return unique_items
def find_filename(path):
return path.split("/")[-1]
def find_domain(url):
return url.split("/")[0]
url = 'www.abrakadabra.com/dccEcB/EGdd'
find_domain(url)
'www.abrakadabra.com'
urls = urls = ['www.abrakadabra.com/dccEcB/EGdd',
'www.abrakadabra.com/gADFeD/bcAF',
'www.abra.com/AGadbb/eagE',
'www.dabra.com/cffdfD/FCAD',
'www.abra.com/GFGaBE/dcfc',
'www.abra.com/gaFegG/Bdaf',
'www.abrakadabra.com/aGabaf/EEfa',
'www.dabra.com/ceEgFD/bGgc',
'www.dabra.com/bDEffC/bcEA']
def unique_domains(urls):
domains = []
for url in urls:
domain = find_domain(url)
domains.append(domain)
return unique(domains)
unique_domains(urls)
['www.abrakadabra.com', 'www.abra.com', 'www.dabra.com']
def min2(x, y):
if x < y:
return x
else:
return y
min2(4 , 7)
4
def min3(x, y, z):
if x < y and x < z:
return x
elif y < x and y < z:
return y
else:
return z
def min3(x, y, z):
m = min2(x,y)
return min2(m,z)
Question find prime numbers less than 100
def primes(n):
prime_numbers = []
for i in range(1, n+1):
primeflag = True
for j in range(2, i):
if i%j==0:
primeflag = False
if primeflag:
prime_numbers.append(i)
return prime_numbers
primes(50)
[1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
def filterodd(nums):
odds = []
for n in nums:
if n % 2 == 1:
odds.append(n)
return odds
def filter_prime(nums):
primes = []
for n in nums:
if isprime(n):
primes.append(n)
return primes
def isprime(n):
flag = True
for i in range(2, n):
if n%i==0:
flag = False
return flag
filter_prime(range(1,21))
[1, 2, 3, 5, 7, 11, 13, 17, 19]
def filter_prime(nums):
primes = []
for n in nums:
if isprime(n):
primes.append(n)
return primes
def isprime(n):
flag = True
for i in range(2, n):
if n%i==0:
flag = False
return flag
def genrate_primes(n):
"""returns prime numbers less than n
"""
return filter_prime(range(1, n))
genrate_primes(50)
[1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
p = genrate_primes(50)
p
[1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
p[0]
1
p[-1]
47
p[-2]
43
p[-5]
31
p[3:7] # items from 3rd index till 7th (exluding)
[5, 7, 11, 13]
p[1:10:2] # every alternater item starting from index 1 till 10 (excluding)
[2, 5, 11, 17, 23]
p[1:10]
[2, 3, 5, 7, 11, 13, 17, 19, 23]
items[start:end:step]
p[3:9] # step is not given so it is taken as 1 by default
[5, 7, 11, 13, 17, 19]
p[:5] # take first 5 items
[1, 2, 3, 5, 7]
p[5:] # drop first 5 items
[11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
p
[1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
p[:] # copy id list
[1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
p[::2]
[1, 3, 7, 13, 19, 29, 37, 43]
p[::-1] # reverse list
[47, 43, 41, 37, 31, 29, 23, 19, 17, 13, 11, 7, 5, 3, 2, 1]
Question
def is_palindrom(name):
return name == name[::-1]
is_palindrom("hello")
False
is_palindrom("mom")
True
is_palindrom(121)
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-52-6eb2d0dc3f14> in <module> ----> 1 is_palindrom(121) <ipython-input-49-af122c970411> in is_palindrom(name) 1 def is_palindrom(name): ----> 2 return name == name[::-1] TypeError: 'int' object is not subscriptable
def is_palindrom_number(n):
return is_palindrom(str(n))
is_palindrom_number(121)
True
is_palindrom_number(123)
False