diff --git a/week-2/assignment-2/warmup1.py b/week-2/assignment-2/warmup1.py new file mode 100644 index 0000000..2a28d5a --- /dev/null +++ b/week-2/assignment-2/warmup1.py @@ -0,0 +1 @@ +print('Python is Working') \ No newline at end of file diff --git a/week-2/assignment-2/warmup2.py b/week-2/assignment-2/warmup2.py new file mode 100644 index 0000000..947f59d --- /dev/null +++ b/week-2/assignment-2/warmup2.py @@ -0,0 +1,6 @@ +#cd Desktop/CodetheDream/python/python-intro-homework +#ls +#cd week-2/assignment-2 + +today = input("What is today's date?") +print(f"You said today is {today}.") diff --git a/week-2/assignment-2/warmup3.py b/week-2/assignment-2/warmup3.py new file mode 100644 index 0000000..a6324f7 --- /dev/null +++ b/week-2/assignment-2/warmup3.py @@ -0,0 +1,2 @@ +# git log --oneline output: +#c981e33 (HEAD -> assignment-2, origin/assignment-2) warmups files \ No newline at end of file diff --git a/week-2/assignment-6/mini_project.py b/week-2/assignment-6/mini_project.py new file mode 100644 index 0000000..37d6fca --- /dev/null +++ b/week-2/assignment-6/mini_project.py @@ -0,0 +1,4 @@ + +fahrenheit = float(input("Enter a temperature in Fahrenheit: ")) +celsius = round(((fahrenheit-32) * 5/9), 1) +print(f"{fahrenheit}°F is {celsius}°C.") \ No newline at end of file diff --git a/week-2/assignment-6/warmup1.py b/week-2/assignment-6/warmup1.py new file mode 100644 index 0000000..2a28d5a --- /dev/null +++ b/week-2/assignment-6/warmup1.py @@ -0,0 +1 @@ +print('Python is Working') \ No newline at end of file diff --git a/week-2/assignment-6/warmup2.py b/week-2/assignment-6/warmup2.py new file mode 100644 index 0000000..947f59d --- /dev/null +++ b/week-2/assignment-6/warmup2.py @@ -0,0 +1,6 @@ +#cd Desktop/CodetheDream/python/python-intro-homework +#ls +#cd week-2/assignment-2 + +today = input("What is today's date?") +print(f"You said today is {today}.") diff --git a/week-2/assignment-6/warmup3.py b/week-2/assignment-6/warmup3.py new file mode 100644 index 0000000..a6324f7 --- /dev/null +++ b/week-2/assignment-6/warmup3.py @@ -0,0 +1,2 @@ +# git log --oneline output: +#c981e33 (HEAD -> assignment-2, origin/assignment-2) warmups files \ No newline at end of file diff --git a/week-3/assignment-3/.gitignore b/week-3/assignment-3/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/week-3/assignment-3/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/week-3/assignment-3/mini_project.py b/week-3/assignment-3/mini_project.py new file mode 100644 index 0000000..294f331 --- /dev/null +++ b/week-3/assignment-3/mini_project.py @@ -0,0 +1,88 @@ +day = input("What day is it? ").lower() +timeOfDay = input("What time of day? ").lower() + + +if day=="sunday": + #timeOfDay = input("What time of day? ").lower() + if(timeOfDay == "morning"): + print("Suggestion: Good Morning, it's a great time to go for a walk!") + elif(timeOfDay == "afternoon"): + print("Suggestion: It's time for lunch.") + elif(timeOfDay == "evening"): + print("Suggestion: Good evening, it's time to make dinner!") + else: + print(f"Sorry, I don't recognize that time of day. Try: morning, afternoon or evening for the time of day.") + +elif day=="monday": + #timeOfDay = input("What time of day? ").lower() + if(timeOfDay =='morning'): + print("Suggestion: Morning, it's a great time to make Pancakes for Breakfast!") + elif(timeOfDay == "afternoon"): + print("Suggestion: Good afternoon, it's a great time to read a book!") + elif(timeOfDay == "evening"): + print("Suggestion: Good evening, it's a great time to go to a friend's house.") + else: + print(f"Sorry, I don't recognize that time of day. Try: morning, afternoon or evening for the time of day.") + +elif day=="tuesday": + #timeOfDay = input("What time of day? ").lower() + + if(timeOfDay =='morning'): + print("Suggestion: Morning, it's a great time to go to a Cafe for Breakfast!") + elif(timeOfDay == "afternoon"): + print("Suggestion: Good afternoon, it's a great time to go to lunch!") + elif(timeOfDay == "evening"): + print("Suggestion: Good evening, it's a great time to go to the gym!") + else: + print(f"Sorry, I don't recognize that time of day. Try: morning, afternoon or evening for the time of day.") + +elif day=="wednesday": + #timeOfDay = input("What time of day? ").lower() + + if(timeOfDay =='morning'): + print("Suggestion: Morning, it's a great time to go for a run!") + elif(timeOfDay == "afternoon"): + print("Suggestion: Good afternoon, it's a great time to go to the grocery store.") + elif(timeOfDay == "evening"): + print("Suggestion: Good evening, it's a great time to a restaurant!") + else: + print(f"Sorry, I don't recognize that time of day. Try: morning, afternoon or evening for the time of day.") + +elif day=="thursday": + #timeOfDay = input("What time of day? ").lower() + + if(timeOfDay =='morning'): + print("Suggestion: Morning, it's a great time to have coffee!") + elif(timeOfDay == "afternoon"): + print("Suggestion: Good afternoon, it's a great time to go to the post office.") + elif(timeOfDay == "evening"): + print("Suggestion: Good evening, it's a great time to walk the dog!!") + else: + print(f"Sorry, I don't recognize that time of day. Try: morning, afternoon or evening for the time of day.") + +elif day=="friday": + #timeOfDay = input("What time of day? ").lower() + + if(timeOfDay =='morning'): + print("Suggestion: Morning, it's a great time to exercise!") + elif(timeOfDay == "afternoon"): + print("Suggestion: Good afternoon, it's a great time to play Ping Pong.") + elif(timeOfDay == "evening"): + print("Suggestion: Good evening, it's a great time to watch TV!") + else: + print(f"Sorry, I don't recognize that time of day. Try: morning, afternoon or evening for the time of day.") + +elif day=="saturday": + #timeOfDay = input("What time of day? ").lower() + + if(timeOfDay =='morning'): + print("Suggestion: Morning, it's a great time watch the news!") + elif(timeOfDay == "afternoon"): + print("Suggestion: Good afternoon, it's a great time to go for Ice Cream!") + elif(timeOfDay == "evening"): + print("Suggestion: Good evening, it's a great time to watch a movie!") + else: + print(f"Sorry, I don't recognize that time of day. Try: morning, afternoon or evening for the time of day.") +else: + print("Sorry, I don't recognize that day. Try: Monday, Tuesday, Wednesday...") + diff --git a/week-3/assignment-3/warmup1.py b/week-3/assignment-3/warmup1.py new file mode 100644 index 0000000..f465e55 --- /dev/null +++ b/week-3/assignment-3/warmup1.py @@ -0,0 +1,19 @@ +#score = int(input("Pick any number between 0 and 100: ")) + +score = 54 + +if score >= 90 and score <=100: + print(f"Score: {score}") + print("Grade: A") +elif score >= 80 and score <=89: + print(f"Score: {score}") + print("Grade: B") +elif score >= 70 and score <=79: + print(f"Score: {score}") + print("Grade: C") +elif score >= 60 and score <=69: + print(f"Score: {score}") + print("Grade: D") +elif score >= 0 and score <=59: + print(f"Score: {score}") + print("Grade: F") diff --git a/week-3/assignment-3/warmup2.py b/week-3/assignment-3/warmup2.py new file mode 100644 index 0000000..45f50a6 --- /dev/null +++ b/week-3/assignment-3/warmup2.py @@ -0,0 +1,17 @@ +age = int(input("Enter your age:")) + +if age>=0 and age<=12: + #print(f"Your age is {age}.") + print("You are a Child.") +elif age>=13 and age<=17: + #print(f"Your age is {age}.") + print("You are a Teen.") +elif age>=18 and age<=64: + #print(f"Your age is {age}.") + print("You are an Adult.") +elif age>=65: + #print(f"Your age is {age}.") + print("You are a Senior.") +else: + print("Invalid number, please enter a valid number.") + diff --git a/week-3/assignment-3/warmup3.py b/week-3/assignment-3/warmup3.py new file mode 100644 index 0000000..03f2c8c --- /dev/null +++ b/week-3/assignment-3/warmup3.py @@ -0,0 +1,5 @@ +print(not True and False) #not True is False; False and False is False +print(True or False and False) # False is False is False; True or False is True; +print(not (5 > 3)) # 5 is greater than 3 which is True; Not True is False +print(10 == 10 and 4 != 4) # 10==10 is True; and 4!=4 is False; True and False is False +print(not False or not True) # Not False is True; not True is False; True or False is True \ No newline at end of file diff --git a/week-3/assignment-3/warmup4.py b/week-3/assignment-3/warmup4.py new file mode 100644 index 0000000..a10ac76 --- /dev/null +++ b/week-3/assignment-3/warmup4.py @@ -0,0 +1,21 @@ +number = int(input("Enter a number: ")) + +# if/elif/else statement 1 for sign + +if number>0: + print(f"{number} is positive.") + +elif number< 0: + print(f"{number} is negative.") + +else: + print(f"{number} is zero.") + + +# if/elif/else statement 2 for parity including zero + +if number % 2 == 0: + print(f"{number} is even.") + +else: + print(f"{number} is odd.") diff --git a/week-4/mini_project.py b/week-4/mini_project.py new file mode 100644 index 0000000..6538bcf --- /dev/null +++ b/week-4/mini_project.py @@ -0,0 +1,43 @@ +students = [ + {"name": "Jazmine", "score": 88, "subject": "Python"}, + {"name": "Luis", "score": 74, "subject": "Data"}, + {"name": "Sara", "score": 91, "subject": "Python"}, + {"name": "Marcus", "score": 68, "subject": "Web"}, + {"name": "Priya", "score": 95, "subject": "Data"}, + {"name": "Devon", "score": 72, "subject": "Python"}, + {"name": "Mia", "score": 83, "subject": "Web"}, + {"name": "Eli", "score": 79, "subject": "Data"}, +] +#Find the top scorer +top_scorer_name = "" +top_score = 0 + +for student in students: + if student["score"] > top_score: + top_score = student["score"] + top_scorer_name = student["name"] + +print(f"Top scorer: {top_scorer_name} ({top_score})") + +#Calculate the class average +total = 0 +for student in students: + total+= student["score"] +average = total / len(students) +print(f"Class average: {average:.1f}") # Output: Class average: 85.5 + +#List all unique subjects + +subjects = set() +for student in students: + subjects.add(student["subject"]) + +print(f"Subjects offered: {subjects}") + +#List High Scorers with score over 75 +high_scorers = [] +for student in students: + if student["score"] >75: + high_scorers.append(student["name"]) + +print(f"High scorers: {high_scorers}") \ No newline at end of file diff --git a/week-4/warmup1.py b/week-4/warmup1.py new file mode 100644 index 0000000..154c4ba --- /dev/null +++ b/week-4/warmup1.py @@ -0,0 +1,6 @@ +#Warmup 1 List Operations +numbers = [27, 40, 45, 50, 51, 52, 70, 99] +print(f"First: {numbers[0]}") +print(f"Last: {numbers[-1]}") +print(f"Middle: {numbers[2:6]} ") +print(f"Reversed: {numbers[::-1]} ") \ No newline at end of file diff --git a/week-4/warmup2.py b/week-4/warmup2.py new file mode 100644 index 0000000..9142122 --- /dev/null +++ b/week-4/warmup2.py @@ -0,0 +1,14 @@ +#Warmup 2 Dictonary Operations + +students = { + "name": "Khalilah", + "grade": "A", + "subjects": ["English", "Math", "Computer Science"] +} +for key, value in students.items(): + print(f"{key}: {value}") + +students["graduated"] = False + +for key, value in students.items(): + print(f"{key}: {value}") diff --git a/week-4/warmup3.py b/week-4/warmup3.py new file mode 100644 index 0000000..9596d05 --- /dev/null +++ b/week-4/warmup3.py @@ -0,0 +1,13 @@ +#Warmup 3 Set Operations +language_list1 = ["BASIC", "Pascal", "Assembly", "Fortran", "C", "C++", "Perl", "Java", "XML", "HTML", "CSS", "JavaScript", "Visual Basic", "VB.NET", "C#"] +language_list2 = ["HTML", "XML", "CSS", "JavaScript", "TypeScript", "JSON", "PHP", "SQL", "Python"] + +#Convert list to set + +language_list1_set1 = set(language_list1) +language_list1_set2 = set(language_list2) + +#print language sets +print(language_list1_set1 | language_list1_set2) # Union: All languages from both lists, no duplicates +print(language_list1_set1 & language_list1_set2) # Intersection: Languages in both lists +print(language_list1_set1 - language_list1_set2) # Difference: Languages only in the first list \ No newline at end of file diff --git a/week-5/data/selection_sort.py b/week-5/data/selection_sort.py new file mode 100644 index 0000000..3644aa4 --- /dev/null +++ b/week-5/data/selection_sort.py @@ -0,0 +1,11 @@ +def selection_sort(data): + for i in range(len(data)): + min_index = i + for j in range(i + 1, len(data)): + if data[j] < data[min_index]: + min_index = j + data[i], data[min_index] = data[min_index], data[i] + return data + +sorted_list = selection_sort(numbers) +print(f"Minimum number is {sorted_list[0]}") \ No newline at end of file diff --git a/week-5/mini_project.py b/week-5/mini_project.py new file mode 100644 index 0000000..5552c36 --- /dev/null +++ b/week-5/mini_project.py @@ -0,0 +1,74 @@ +numbers = [42, 17, 83, 5, 61, 29, 74, 8, 55, 93, 31, 66, 14, 47, 78, 3, 59, 22, 86, 40] + +while True: + #Print Number Cruncher Menu + print("") + print("=== Number Cruncher ===") + print("1. Find minimum") + print("2. Find maximum") + print("3. Search for a number") + print("4. Sort the list") + print("5. Quit") + print("") + + option = int(input("Choose an option (1-5):")) + + #Find Minimum + if option == 1: + min_number = numbers[0] + for number in numbers: + if number < min_number: + min_number = number + + print(f"The minimum number is {min_number}.") + + #Find Maximum + elif option == 2: + + max_number = numbers[0] + for number in numbers: + if number > max_number: + max_number = number + + print(f"The maximum number is {max_number}.") + + #Search for a number + elif option == 3: + + target = int(input("Enter a number: ")) + + def linear_search(data, target): + for i in range(len(data)): + if data[i] == target: + return i + return -1 + + result = linear_search(numbers, target) + if result != -1: + print(f"Found at index {result}") + elif result == -1: + print(f"{target} not found") + + #Sort the List + elif option == 4: + + swapped = True + + while swapped: + swapped = False + + n = len(numbers) + + for index in range(n-1): + if numbers[index] > numbers[index + 1]: + numbers[index], numbers[index + 1 ] = (numbers[index+ 1], numbers[index]) + + swapped = True + + print(f"Sorted list: {numbers}") + + #Quit Loop + + elif option == 5: + print("Quitting Number Cruncher") + break \ No newline at end of file diff --git a/week-5/warmup1.py b/week-5/warmup1.py new file mode 100644 index 0000000..9d5d347 --- /dev/null +++ b/week-5/warmup1.py @@ -0,0 +1,6 @@ +#Calculating the sum of all integers from 1 to 100 +sum_of_integers = 0 +for num in range(1,101): + sum_of_integers += num + +print (f"The sum of 1 to 100 is {sum_of_integers}.") \ No newline at end of file diff --git a/week-5/warmup2.py b/week-5/warmup2.py new file mode 100644 index 0000000..bb19d2c --- /dev/null +++ b/week-5/warmup2.py @@ -0,0 +1,15 @@ +while True: + user_input = input("Enter a positive integer: ") + + if user_input.isdigit() and int(user_input) > 0: + print(f"Got it: {user_input}") + break + + else: + print("That's not a positive integer. Try again. \n") + + + + + + diff --git a/week-5/warmup3.py b/week-5/warmup3.py new file mode 100644 index 0000000..9e2e3ac --- /dev/null +++ b/week-5/warmup3.py @@ -0,0 +1,37 @@ +#Linear Search: Find a name in a list +names = [ + "Liam", + "Noah", + "Oliver", + "Theodore", + "Henry", + "JaKmes", + "Elijah", + "Mateo", + "William", + "Lucas", + "Olivia", + "Charlotte", + "Emma", + "Amelia", + "Sophia", + "Mia", + "Isabella", + "Evelyn", + "Ava", + "Elian" +] +#User input the name to be searched +username = input("Enter a name to search for: ") +found = False + +for i, name in enumerate(names): + if name == username: + found = True + break + +if found: + print(f'Found "{username}" at index {i}.') + +else: + print (f'"{username}" was not found in the list.') \ No newline at end of file diff --git a/week-5/warmup4.py b/week-5/warmup4.py new file mode 100644 index 0000000..fa087a0 --- /dev/null +++ b/week-5/warmup4.py @@ -0,0 +1,14 @@ +#Loop from 1 to 30 +for num in range(1,31): + + if num % 3 == 0 and num % 5 == 0: + print("FizzBuzz") + + elif num % 3 == 0: + print("Fizz") + + elif num % 5 == 0: + print("Buzz") + + else: + print(num) \ No newline at end of file diff --git a/week-6/assignment-6/mini_project.py b/week-6/assignment-6/mini_project.py new file mode 100644 index 0000000..d272dd4 --- /dev/null +++ b/week-6/assignment-6/mini_project.py @@ -0,0 +1,104 @@ +numbers = [42, 17, 83, 5, 61, 29, 74, 8, 55, 93, 31, 66, 14, 47, 78, 3, 59, 22, 86, 40] + +def show_menu(): + #Print Number Cruncher Menu + print("") + print("=== Number Cruncher ===") + print("1. Find minimum") + print("2. Find maximum") + print("3. Search for a number") + print("4. Sort the list") + print("5. Quit") + print("") + + option = input("Choose an option (1-5):") + return option + +#Find Minimum Function +def find_min(numbers): + + min_number = numbers[0] + for number in numbers: + if number < min_number: + min_number = number + + return min_number + +#Find Maximum +def find_max(numbers): + + max_number = numbers[0] + for number in numbers: + if number > max_number: + max_number = number + + return max_number + +#Search for a number +def search(numbers, target): + for i in range(len(numbers)): + if numbers[i] == target: + return i + return -1 + + + +#Sort the List +def bubble_sort(numbers): + sorted_numbers = numbers.copy() + swapped = True + + while swapped: + swapped = False + + n = len(sorted_numbers) + + for index in range(n-1): + if sorted_numbers[index] > sorted_numbers[index + 1]: + sorted_numbers[index], sorted_numbers[index + 1 ] = (sorted_numbers[index+ 1], sorted_numbers[index]) + + swapped = True + + return sorted_numbers + +#Quit Loop +def quit_loop(): + print("Quitting Number Cruncher") + + + +def main(): + while True: + result = show_menu() + if result == "1": + min_number_result = find_min(numbers) + print(f"The minimum number is {min_number_result}.") + + elif result == "2": + max_number_result = find_max(numbers) + print(f"The maximum number is {max_number_result}.") + + elif result == "3": + target = int(input("Enter a number: ")) + search_number_result = search(numbers, target) + + if search_number_result != -1: + print(f"Found at index {search_number_result}.") + + elif search_number_result == -1: + print("Not found") + + elif result == "4": + sorted_list_result = bubble_sort(numbers) + print(f"Sorted list: {sorted_list_result}") + + elif result == "5": + quit_loop() + break + + else: + print("Please enter a number between 1 and 5.") + + + +main() \ No newline at end of file diff --git a/week-6/assignment-6/warmup1.py b/week-6/assignment-6/warmup1.py new file mode 100644 index 0000000..13d835f --- /dev/null +++ b/week-6/assignment-6/warmup1.py @@ -0,0 +1,10 @@ +def greet(name, greeting="Hello"): + print(f"{greeting}, {name}!") + #print("Good morning, " + name + "!") + #print(greeting + " " + name + "!") + +greet("Khalilah") +greet( "Khalilah", "Good morning") + +french = "Bonjour" +greet("Khalilah", french) diff --git a/week-6/assignment-6/warmup2.py b/week-6/assignment-6/warmup2.py new file mode 100644 index 0000000..b0e3047 --- /dev/null +++ b/week-6/assignment-6/warmup2.py @@ -0,0 +1,13 @@ +def celsius_to_fahrenheit(c): + fahrenheit = round(((c * 9/5) + 32) , 1) + #print(f"{c}\xb0C = {fahrenheit}\xb0F") + return fahrenheit + +def fahrenheit_to_celsius(f): + celsius = round(((f - 32) * 5/9), 1) + return celsius + #print(f"{f}\xb0F = {celsius}\xb0C") + +print(f"0\xb0C = {celsius_to_fahrenheit(0)}\xb0F") +print(f"100\xb0C = {celsius_to_fahrenheit(100)}\xb0F") +print(f"72\xb0F = {fahrenheit_to_celsius(72)}\xb0C") \ No newline at end of file diff --git a/week-6/assignment-6/warmup3.py b/week-6/assignment-6/warmup3.py new file mode 100644 index 0000000..ba2bea0 --- /dev/null +++ b/week-6/assignment-6/warmup3.py @@ -0,0 +1,16 @@ + +def greetings(first_name): + first_name ="Khalilah" + +#print(first_name) + +# print(first_name) +# ^^^^^^^^^^ +#NameError: name 'first_name' is not defined + +def greet(name): + message = f"Bonjour, {name}!" + return message + +my_name = greet("Khalilah") +print(my_name) \ No newline at end of file diff --git a/week-6/assignment-6/warmup4.py b/week-6/assignment-6/warmup4.py new file mode 100644 index 0000000..95fc47e --- /dev/null +++ b/week-6/assignment-6/warmup4.py @@ -0,0 +1,20 @@ +def is_valid_score(score): + if isinstance(score, int) and score >= 0 and score <=100: + return True + else: + return False + +score_input = input("Enter a score: ") + +if score_input.isdigit(): + score_input = int(score_input) + score_result = is_valid_score(score_input) +else: + score_result = False + +if score_result == True: + + print("Valid score.") + +else: + print("Invalid score \u2014 must be between 0 and 100.") \ No newline at end of file