Skip to content
Open

k #7

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 0 additions & 20 deletions .gitignore

This file was deleted.

8 changes: 4 additions & 4 deletions 03_loops/05_solution.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
input_str = "teeteracdacd"
input_str = "teeter"

for char in input_str:
print(char)

if input_str.count(char) == 1:
print("Char is: ", char)
break
print(char)
break
6 changes: 2 additions & 4 deletions 05_functions/01_solution.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
def square(number):
return number ** 2
return number**2


result = square(4)
print(16)
square(4)
7 changes: 3 additions & 4 deletions 05_functions/02_solution.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
def add(numOne, numTwo):
return numOne + numTwo
def two_Num(num1, num2):
return num1 + num2


print(add(5, 5))
print(two_Num(23,34))
8 changes: 3 additions & 5 deletions 05_functions/03_solution.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
def multiply(p1, p2):
return p1 * p2
def multiply(input1, input2):

return input1*input2

print(multiply(8, 5))
print(multiply('a', 5))
print(multiply(5, 'a'))
print(multiply(3, 'a'))
15 changes: 8 additions & 7 deletions 05_functions/04_solution.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import math

def circle_stats(radius):
area = math.pi * radius ** 2
circumference = 2 * math.pi * radius
return area, circumference
def cicle(radius):

a, c = circle_stats(3)

print("Area: ", a, "Circumference: ", c)
area = math.pi * radius**2
circumference =2* math.pi * radius
rad = round(area,2)
circumference=round(circumference,2)
return rad,circumference

print(cicle(5))
8 changes: 3 additions & 5 deletions 05_functions/05_soulution.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
def greet(name = "User"):
return "Hello, " + name + " !"
def greet(name ="User"):
return "hello "+ name +"!"


print(greet("chai"))
print(greet())
print(greet("chai"))
3 changes: 2 additions & 1 deletion 05_functions/10_solution.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
return n*factorial(n-1)

23 changes: 6 additions & 17 deletions 07_oop/01_solution.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,14 @@ def full_name(self):
return f"{self.__brand} {self.__model}"

def fuel_type(self):
return "Petrol or Diesel"
return "Petrol or diesel"

@staticmethod
def general_description():
return "Cars are means of transport"

@property
def model(self):
return self.__model



class ElectricCar(Car):
def __init__(self, brand, model, battery_size):
super().__init__(brand, model)
class ElectricCar:
def __init__(self,brand,model,battery_size):
super().__init__(brand,model)
self.battery_size = battery_size

def fuel_type():
return "Electric charge"
def fuel_type(self):
retun = "Electric Charges"


# my_tesla = ElectricCar("Tesla", "Model S", "85kWh")
Expand Down
11 changes: 4 additions & 7 deletions 08_decorators/01_solution.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,12 @@
def timer(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
result = func(*args,**kwargs)
end = time.time()
print(f"{func.__name__} ran in {end-start} time")
return result
print(f"{func.__name__} ran in {end-start} time ")
return result
return wrapper


@timer
def example_function(n):
time.sleep(n)

example_function(2)
time.sleep(n)
13 changes: 3 additions & 10 deletions 08_decorators/02_solution.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,14 @@

def debug(func):
def wrapper(*args, **kwargs):
args_value = ', '.join(str(arg) for arg in args)
kwargs_value = ', '.join(f"{k}={v}" for k, v in kwargs.
items())
kwargs_value = ', '.join(f"{k}={v}" for k, v in kwargs.items())
print(f"calling: {func.__name__} with args {args_value} and kwargs {kwargs_value}")
return func(*args, **kwargs)

return wrapper

@debug
def hello():
print("hello")

@debug
def greet(name, greeting="Hello"):
def greet(name, greeting="hello"):
print(f"{greeting}, {name}")

hello()
greet("chai", greeting="hanji ")
greet("chai",greeting="hello" )
9 changes: 4 additions & 5 deletions 09_error_handling/error_handle.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
file = open('youtube.txt', 'w')
file = open ("youtube.txt", 'w')

try:
file.write('chai aur code')
file.write("Chai aur Code")
finally:
file.close()

with open('youtube.txt', 'w') as file:
file.write('chai aur python')
with open("youtube.txt", 'w') as file:
file.write("chai aur Python")
83 changes: 31 additions & 52 deletions 09_error_handling/youtube_manager.py
Original file line number Diff line number Diff line change
@@ -1,83 +1,62 @@

import json



def load_data():
try:
with open('youtube.txt', 'r') as file:
test = json.load(file)
# print(type(test))
return test
return json.load(file)
except FileNotFoundError:
return []

def save_data_helper(videos):
def save_data(videos):
with open('youtube.txt', 'w') as file:
json.dump(videos, file)

def list_all_videos(videos):
print("\n")
print("*" * 70)
for index, video in enumerate(videos, start=1):
print(f"{index}. {video['name']}, Duration: {video['time']} ")
print("\n")
print("*" * 70)
for index, video in enumerate(videos,start=1):
print(f"{index}.")

def add_video(videos):
def add_a_video(videos):
name = input("Enter video name: ")
time = input("Enter video time: ")
videos.append({'name': name, 'time': time})
save_data_helper(videos)

def update_video(videos):
list_all_videos(videos)
index = int(input("Enter the video number to update"))
if 1 <= index <= len(videos):
name = input("Enter the new video name")
time = input("Enter the new video time")
videos[index-1] = {'name':name, 'time': time}
save_data_helper(videos)
else:
print("Invalid index selected")
time = input("Enter video time:")
videos.append('name:'name',
)

def update_videos(videos):
pass

def delete_video(videos):
list_all_videos(videos)
index = int(input("Enter the video number to be deleted"))

if 1<= index <= len(videos):
del videos[index-1]
save_data_helper(videos)
else:
print("Invalid video index selected")
pass




def main():
videos = load_data()
while True:
print("\n Youtube Manager | choose an option ")
print("1. List all youtube videos ")
print("2. Add a youtube video ")
print("3. Update a youtube video details ")
print("4. Delete a youtube video ")
print("5. Exit the app ")
choice = input("Enter your choice: ")
# print(videos)
videos =load_data()
while True :
print("\n Youtube Manager | Choose an option")
print("1. List all videos")
print("2. Add a youtube video")
print("3. update a Youtube Video")
print("4. Delete a youtube video")
print("5. Exit the program")

choice = input("Choose")

match choice:
case '1':
list_all_videos(videos)
case '2':
add_video(videos)
add_a_video(videos)
case '3':
update_video(videos)
update_videos(videos)
case '4':
delete_video(videos)
case '5':
break
exit
case _:
print("Invalid Choice")

if __name__ == "__main__":
main()

print("Invalid option")

if __name__== "__main__":
main()