diff --git a/Add_two_Linked_List.py b/Add_Two_Linked_Lists.py similarity index 91% rename from Add_two_Linked_List.py rename to Add_Two_Linked_Lists.py index 97d10a1011b..5b7dabd2091 100644 --- a/Add_two_Linked_List.py +++ b/Add_Two_Linked_Lists.py @@ -1,68 +1,69 @@ -class Node: - def __init__(self, data): - self.data = data - self.next = None - - -class LinkedList: - def __init__(self): - self.head = None - - def insert_at_beginning(self, new_data): - new_node = Node(new_data) - if self.head is None: - self.head = new_node - return - new_node.next = self.head - self.head = new_node - - def add_two_no(self, first, second): - prev = None - temp = None - carry = 0 - while first is not None or second is not None: - first_data = 0 if first is None else first.data - second_data = 0 if second is None else second.data - Sum = carry + first_data + second_data - carry = 1 if Sum >= 10 else 0 - Sum = Sum if Sum < 10 else Sum % 10 - temp = Node(Sum) - if self.head is None: - self.head = temp - else: - prev.next = temp - prev = temp - if first is not None: - first = first.next - if second is not None: - second = second.next - if carry > 0: - temp.next = Node(carry) - - def __str__(self): - temp = self.head - while temp: - print(temp.data, "->", end=" ") - temp = temp.next - return "None" - - -if __name__ == "__main__": - first = LinkedList() - second = LinkedList() - first.insert_at_beginning(6) - first.insert_at_beginning(4) - first.insert_at_beginning(9) - - second.insert_at_beginning(2) - second.insert_at_beginning(2) - - print("First Linked List: ") - print(first) - print("Second Linked List: ") - print(second) - - result = LinkedList() - result.add_two_no(first.head, second.head) - print("Final Result: ") - print(result) +class Node: + def __init__(self, data): + self.data = data + self.next = None + + +class LinkedList: + def __init__(self): + self.head = None + + def insert_at_beginning(self, new_data): + new_node = Node(new_data) + if self.head is None: + self.head = new_node + return + new_node.next = self.head + self.head = new_node + + def add_two_integer_lists(self, first, second): + prev = None + temp = None + carry = 0 + while first is not None or second is not None: + first_data = 0 if first is None else first.data + second_data = 0 if second is None else second.data + Sum = carry + first_data + second_data + carry = 1 if Sum >= 10 else 0 + Sum = Sum if Sum < 10 else Sum % 10 + temp = Node(Sum) + if self.head is None: + self.head = temp + else: + prev.next = temp + prev = temp + if first is not None: + first = first.next + if second is not None: + second = second.next + if carry > 0: + temp.next = Node(carry) + + def __str__(self): + temp = self.head + while temp: + print(temp.data, "->", end=" ") + temp = temp.next + return "None" + + +if __name__ == "__main__": + first = LinkedList() + second = LinkedList() + first.insert_at_beginning(6) + first.insert_at_beginning(4) + first.insert_at_beginning(9) + + second.insert_at_beginning(2) + second.insert_at_beginning(2) + + print("First Linked List: ") + print(first) + print("Second Linked List: ") + print(second) + + result = LinkedList() + result.add_two_integer_lists(first.head, second.head) + + print("Final Result: ") + print(result) diff --git a/add_two_nums.py b/Add_Two_Numbers.py similarity index 86% rename from add_two_nums.py rename to Add_Two_Numbers.py index fde5ae987e9..fd217d7ba2d 100644 --- a/add_two_nums.py +++ b/Add_Two_Numbers.py @@ -1,8 +1,9 @@ __author__ = "Nitkarsh Chourasia" __version__ = "1.0" +from typing import Union -def addition(num1: typing.Union[int, float], num2: typing.Union[int, float]) -> str: +def addition(num1: Union[int, float], num2: Union[int, float]) -> str: """A function to add two given numbers.""" # Checking if the given parameters are numerical or not. diff --git a/Add_Two_Numbers_Game.py b/Add_Two_Numbers_Game.py new file mode 100644 index 00000000000..196b53b6bb6 --- /dev/null +++ b/Add_Two_Numbers_Game.py @@ -0,0 +1,16 @@ +user_input = (input("Type 'start' to run program:")).lower() + +if user_input == "start": + is_game_running = True +else: + is_game_running = False + + +while is_game_running: + num1 = int(input("Enter number 1:")) + num2 = int(input("Enter number 2:")) + num3 = num1 + num2 + print(f"The sum of {num1} and {num2} is {num3}") + user_input = (input("If you want to end the game, type 'stop':")).lower() + if user_input == "stop": + is_game_running = False diff --git a/agecalculator.py b/Age_Calculator.py similarity index 100% rename from agecalculator.py rename to Age_Calculator.py diff --git a/Battery_notifier.py b/Battery_notifier.py deleted file mode 100644 index 2f45301bc1e..00000000000 --- a/Battery_notifier.py +++ /dev/null @@ -1,23 +0,0 @@ -from plyer import notification # pip install plyer -import psutil # pip install psutil - -# psutil.sensors_battery() will return the information related to battery -battery = psutil.sensors_battery() - -# battery percent will return the current battery prcentage -percent = battery.percent -charging = battery.power_plugged - -# Notification(title, description, duration)--to send -# notification to desktop -# help(Notification) -if charging: - if percent == 100: - charging_message = "Unplug your Charger" - else: - charging_message = "Charging" -else: - charging_message = "Not Charging" -message = str(percent) + "% Charged\n" + charging_message - -notification.notify("Battery Information", message, timeout=10) diff --git a/AreaOfTriangle.py b/Calculate_Triangle_Area.py similarity index 100% rename from AreaOfTriangle.py rename to Calculate_Triangle_Area.py diff --git a/AREA OF TRIANGLE.py b/Calculate_Triangle_Area_Game.py similarity index 100% rename from AREA OF TRIANGLE.py rename to Calculate_Triangle_Area_Game.py diff --git a/Find_Greater_Number.py b/Find_Greater_Number.py new file mode 100644 index 00000000000..c6c0f16d3dd --- /dev/null +++ b/Find_Greater_Number.py @@ -0,0 +1,17 @@ +def FindGreaterNumber(a, b): + # Python Program to find the largest of two numbers using an arithmetic operator + if a - b > 0: + return a + else: + return b + +if __name__ == "__main__": + # Python Program to find the largest of two numbers using an arithmetic operator + a = 37 + b = 59 + + # uncomment following lines to take two numbers from user + # a = float(input("Enter first number: ")) + # b = float(input("Enter second number: ")) + + print(FindGreaterNumber(a, b), " is greater") \ No newline at end of file diff --git a/Find_Greatest_Number.py b/Find_Greatest_Number.py new file mode 100644 index 00000000000..c732da136a2 --- /dev/null +++ b/Find_Greatest_Number.py @@ -0,0 +1,24 @@ +# Python program to find the largest number among the three input numbers + +def FindGreatestNumber(num1, num2, num3): + if (num1 >= num2) and (num1 >= num3): + largest = num1 + elif (num2 >= num1) and (num2 >= num3): + largest = num2 + else: + largest = num3 + return largest + +if __name__ == "__main__": + # change the values of num1, num2 and num3 + # for a different result + num1 = 10 + num2 = 14 + num3 = 12 + + # uncomment following lines to take three numbers from user + # num1 = float(input("Enter first number: ")) + # num2 = float(input("Enter second number: ")) + # num3 = float(input("Enter third number: ")) + + print(FindGreatestNumber(num1, num2, num3)) \ No newline at end of file diff --git a/two_num.py b/Find_Two_Numbers_In_List_With_Sum.py similarity index 100% rename from two_num.py rename to Find_Two_Numbers_In_List_With_Sum.py diff --git a/Generate a random number between 0 to 9.py b/Generate_Random_Integer.py similarity index 100% rename from Generate a random number between 0 to 9.py rename to Generate_Random_Integer.py diff --git a/RandomNumberGame.py b/Guess_Random_Number_Game.py similarity index 100% rename from RandomNumberGame.py rename to Guess_Random_Number_Game.py diff --git a/Guess_the_number_game.py b/Guess_Random_Number_UI_Game.py similarity index 100% rename from Guess_the_number_game.py rename to Guess_Random_Number_UI_Game.py diff --git a/A solution to project euler problem 3.py b/Largest_Prime_Factor.py similarity index 94% rename from A solution to project euler problem 3.py rename to Largest_Prime_Factor.py index 3b34b655083..3371d09981e 100644 --- a/A solution to project euler problem 3.py +++ b/Largest_Prime_Factor.py @@ -35,6 +35,7 @@ def solution(n: int = 600851475143) -> int: ... TypeError: Parameter n must be int or passive of cast to int. """ + try: n = int(n) except (TypeError, ValueError): @@ -63,8 +64,10 @@ def solution(n: int = 600851475143) -> int: if __name__ == "__main__": + print("Enter a number: ", end="") + # print(solution(int(input().strip()))) import doctest doctest.testmod() - print(solution(int(input().strip()))) + print(solution(int(input().strip()))) \ No newline at end of file diff --git a/Psutil_Example.py b/Psutil_Example.py new file mode 100644 index 00000000000..5cf103b8df0 --- /dev/null +++ b/Psutil_Example.py @@ -0,0 +1,66 @@ +from plyer import notification # pip install plyer +import psutil # pip install psutil +from datetime import datetime + +def TestFeature_Memory(): + memory = psutil.virtual_memory() + print(f"Total Memory: {memory.total / (1024**3):.2f} GB") + print(f"Available Memory: {memory.available / (1024**3):.2f} GB") + print(f"Used Memory: {memory.used / (1024**3):.2f} GB") + print(f"Memory Usage Percent: {memory.percent}%") + +def TestFeature_CPU(): + # Get system-wide CPU usage over 1 second + cpu_percent = psutil.cpu_percent(interval=1) + print(f"CPU Usage Percent: {cpu_percent}%") + + # Get per-core CPU usage over 1 second + for i, percentage in enumerate(psutil.cpu_percent(interval=1, percpu=True)): + print(f"Core {i}: {percentage}%") + +def TestFeature_Battery(): + # psutil.sensors_battery() will return the information related to battery + battery = psutil.sensors_battery() + if battery is None: + print("Battery not found") + return + + # battery percent will return the current battery prcentage + percent = battery.percent + charging = battery.power_plugged + + # Notification(title, description, duration)--to send + # notification to desktop + # help(Notification) + if charging: + if percent == 100: + charging_message = "Unplug your Charger" + else: + charging_message = "Charging" + else: + charging_message = "Not Charging" + message = str(percent) + "% Charged\n" + charging_message + + notification.notify("Battery Information", message, timeout=10) + +def TestFeature_Network(): + net_io = psutil.net_io_counters() + print(f"Bytes Sent: {net_io.bytes_sent}") + print(f"Bytes Received: {net_io.bytes_recv}") + +def TestFeature_BootTime(): + boot_time_timestamp = psutil.boot_time() + print(f"System booted at: {datetime.fromtimestamp(boot_time_timestamp).strftime('%Y-%m-%d %H:%M:%S')}") + +def TestFeature_Processes(): + for proc in psutil.process_iter(['pid', 'name']): + print(f"PID: {proc.info['pid']}, Name: {proc.info['name']}") + + +if __name__ == "__main__": + TestFeature_CPU() + TestFeature_Memory() + TestFeature_Battery() + TestFeature_Network() + TestFeature_BootTime() + TestFeature_Processes() \ No newline at end of file diff --git a/Rotate_Linked_List.py b/Rotate_Linked_List.py index c4117989fec..5cb5cec4d7d 100644 --- a/Rotate_Linked_List.py +++ b/Rotate_Linked_List.py @@ -50,8 +50,10 @@ def Display(self): L_list.Insert_At_Beginning(6) L_list.Insert_At_Beginning(11) L_list.Insert_At_Beginning(9) + print("Linked List Before Rotation: ") L_list.Display() + print("Linked List After Rotation: ") L_list.Rotation(4) L_list.Display() diff --git a/rotatelist.py b/Rotate_Number_List.py similarity index 88% rename from rotatelist.py rename to Rotate_Number_List.py index 9603b0434a1..734649a9ca6 100644 --- a/rotatelist.py +++ b/Rotate_Number_List.py @@ -1,7 +1,7 @@ N = int(input("Enter The Size Of Array")) list = [] for i in range(0, N): - temp = int(input("Enter The Intger Numbers")) + temp = int(input("Enter An Integer Number: ")) list.append(temp) @@ -10,7 +10,7 @@ # Let's say we want to print list after its d number of rotations. finalList = [] -d = int(input("Enter The Number Of Times You Want To Rotate The Array")) +d = int(input("Enter The Number Of Times You Want To Rotate The Array: ")) for i in range(0, N): finalList.append(list[(i + d) % N]) diff --git a/add_two_number.py b/add_two_number.py deleted file mode 100644 index f83491cc2fd..00000000000 --- a/add_two_number.py +++ /dev/null @@ -1,16 +0,0 @@ -user_input = (input("type type 'start' to run program:")).lower() - -if user_input == "start": - is_game_running = True -else: - is_game_running = False - - -while is_game_running: - num1 = int(input("enter number 1:")) - num2 = int(input("enter number 2:")) - num3 = num1 + num2 - print(f"sum of {num1} and {num2} is {num3}") - user_input = (input("if you want to discontinue type 'stop':")).lower() - if user_input == "stop": - is_game_running = False diff --git a/area_of_square_app.py b/area_of_square_app.py index d9e4a303005..97cbe797bdf 100644 --- a/area_of_square_app.py +++ b/area_of_square_app.py @@ -65,7 +65,7 @@ def ask_side(self): n = input("Enter the side of the square: ") self.side = float(n) elif isinstance(condition, (int, float)): - for i in range(_=condition): + for i in range(condition): n = input("Enter the side of the square: ") self.side = float(n) # n = input("Enter the side of the square: ") diff --git a/greaterno.py b/greaterno.py deleted file mode 100644 index d636d48e307..00000000000 --- a/greaterno.py +++ /dev/null @@ -1,21 +0,0 @@ -# Python program to find the largest number among the three input numbers - -# change the values of num1, num2 and num3 -# for a different result -num1 = 10 -num2 = 14 -num3 = 12 - -# uncomment following lines to take three numbers from user -# num1 = float(input("Enter first number: ")) -# num2 = float(input("Enter second number: ")) -# num3 = float(input("Enter third number: ")) - -if (num1 >= num2) and (num1 >= num3): - largest = num1 -elif (num2 >= num1) and (num2 >= num3): - largest = num2 -else: - largest = num3 - -print("The largest number is", largest) diff --git a/greattwono.py b/greattwono.py deleted file mode 100644 index 6110c0d67de..00000000000 --- a/greattwono.py +++ /dev/null @@ -1,7 +0,0 @@ -# Python Program to find the largest of two numbers using an arithmetic operator -a = int(input("Enter the first number: ")) -b = int(input("Enter the second number: ")) -if a - b > 0: - print(a, "is greater") -else: - print(b, "is greater") diff --git a/largestno.py b/largestno.py deleted file mode 100644 index 53934770163..00000000000 --- a/largestno.py +++ /dev/null @@ -1,7 +0,0 @@ -# Python Program to find Largest of two Numbers using if-else statements -a = int(input("Enter the first number: ")) -b = int(input("Enter the second number: ")) -if a >= b: - print(a, "is greater") -else: - print(b, "is greater")