Skip to content

Instantly share code, notes, and snippets.

View ayubmetah's full-sized avatar

Ayub Metah ayubmetah

View GitHub Profile
@ayubmetah
ayubmetah / python_strings.py
Created November 15, 2020 17:13
I'm in the process of learning Python and this is my fist program after a few lessons in Variables, Data Types, Strings, User Input/Output, Key Words, String Concatenation, string joining joining/splitting, Data types and conversion. This code asks the user their name and twitter username and goes ahead to display the full URL by joining the str…
#Write a Program that displays a full Twitter Url for a user.
#Knowledge required here is to join/concatenate a string and request user input
#Ask the user their names:
f = input ("What is your name?: ")
#Create a Twitter string Url and add it to a variable
t = "https://twitter.com/"
#Ask the user to supply his user name and add the input to a variable
h = input('What is your Twitter Handle? (Letters Only): ')
@ayubmetah
ayubmetah / gist:bf0ad0270d5b433830fbcf5c7e3eb987
Created December 18, 2020 03:45
Adding values in a loop
values = [23, 52, 59, 37, 48]
sum = 0
length =0
for value in values:
sum += value
length += 1
print("Total sum: " + str(sum) + " - Average: " + str(sum/length))
@ayubmetah
ayubmetah / nested_loops.py
Created December 18, 2020 11:02
Nested Loop
teams = [ 'Man u', 'Tottenham', 'Arsenal', 'Chelsea', 'Liverpool' ]
for home_team in teams:
for away_team in teams:
if home_team != away_team:
print(home_team + " vs " + away_team)
@ayubmetah
ayubmetah / multiples.py
Created December 19, 2020 07:40
Question 4 Write a script that prints the multiples of 7 between 0 and 100. Print one multiple per line and avoid printing any numbers that aren't multiples of 7. Remember that 0 is also a multiple of 7.
def multiples(x):
for n in range(100):
n = (n*x)
if n <= 100:
print(n)
print(multiples(7))
@ayubmetah
ayubmetah / recursion.py
Created December 19, 2020 23:24
Fill in the blanks to make the is_power_of function return whether the number is a power of the given base. Note: base is assumed to be a positive number. Tip: for functions that return a boolean value, you can return the result of a comparison.
def is_power_of(number, base):
# Base case: when number is smaller than base.
number = number/base
if number < base:
# If number is equal to 1, it's a power (base**0).
return False
else:
return True
# Recursive case: keep dividing number by base.
@ayubmetah
ayubmetah / sum_positive_numbers.py
Last active December 31, 2022 03:45
Implement the sum_positive_numbers function, as a recursive function that returns the sum of all positive numbers between the number n received and 1. For example, when n is 3 it should return 1+2+3=6, and when n is 5 it should return 1+2+3+4+5=15.
#using recursion
def sum_positive_numbers(n):
if n <= 1:
return n
return n + sum_positive_numbers(n-1)
print(sum_positive_numbers(3)) # Should be 6
print(sum_positive_numbers(5)) # Should be 15
@ayubmetah
ayubmetah / factorial_example-2.py
Created December 20, 2020 01:16
An example of recursion in Python at work
#recursions example-2
def factorial(n):
print("Factoriaal called with " + str(n))
if n < 2:
print("Returning 1")
return 1
result = n * factorial(n - 1)
print("Returning " + str(result) + " for factorial of " + str(n))
return result
factorial(4)
@ayubmetah
ayubmetah / factorial_example-2.py
Created December 20, 2020 01:17
An example of recursion in Python at work.
#recursions example-2
def factorial(n):
print("Factoriaal called with " + str(n))
if n < 2:
print("Returning 1")
return 1
result = n * factorial(n - 1)
print("Returning " + str(result) + " for factorial of " + str(n))
return result
factorial(4)
@ayubmetah
ayubmetah / file_data_process.py
Created December 20, 2020 03:32
Write a program that prompts for a file name, then opens that file and reads through the file, looking for lines. Count these lines and extract the floating point values from each of the lines and compute the average of those values and produce an output as shown below. Do not use the sum() function or a variable named sum in your solution.
#7.2 Write a program that prompts for a file name, then opens that file and reads through the file, looking for lines of the form:
#X-DSPAM-Confidence: 0.8475. Count these lines and extract the floating point values from each of the lines and compute the average of those values and produce an output as shown below. Do not use the sum() function or a variable named sum in your solution.
#You can download the sample data at http://www.py4e.com/code3/mbox-short.txt when you are testing below enter mbox-short.txt as the file name.
fname = input("Enter file name: ")
fh = open(fname)
count = 0
average = 0
for line in fh:
if not line.startswith("X-DSPAM-Confidence:") : continue
@ayubmetah
ayubmetah / digits_of_number.py
Created December 20, 2020 04:53
Complete the function digits(n) that returns how many digits the number has. For example: 25 has 2 digits and 144 has 3 digits. Tip: you can figure out the digits of a number by dividing it by 10 once per digit until there are no digits left.
def digits(n):
count = 0
if n == 0:
return 1
while (n > 0):
count += 1
n = n // 10
return count
print(digits(25)) # Should print 2