From 0c09a9f33a10d15ec8b32d136460e3153718346b Mon Sep 17 00:00:00 2001 From: Ammar Esam Date: Sun, 29 Jan 2023 17:02:08 +0100 Subject: [PATCH 01/11] Create Assignment_1.py --- Assignment_1.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Assignment_1.py diff --git a/Assignment_1.py b/Assignment_1.py new file mode 100644 index 0000000..e69de29 From 0533ec360b1a713347bfecd2b27228b7baf80b77 Mon Sep 17 00:00:00 2001 From: Ammar Esam Date: Sun, 29 Jan 2023 17:55:35 +0100 Subject: [PATCH 02/11] Update Assignment_1.py --- Assignment_1.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Assignment_1.py b/Assignment_1.py index e69de29..a880bec 100644 --- a/Assignment_1.py +++ b/Assignment_1.py @@ -0,0 +1,12 @@ +def pascal_function(n): + for i in range(0, n+1): + first = 1 + for j in range(1, i+1): + print('', first, end=' ')#make first number always 1 + first = first * (i - j) + first //= j + # print("first is:" , first) + print("") + +n= int(input("Enter number of rows:")) +pascal_function(n) \ No newline at end of file From 13ebbe83bed420160128828e2415753ced246ba3 Mon Sep 17 00:00:00 2001 From: Ammar Esam Date: Sun, 29 Jan 2023 18:15:02 +0100 Subject: [PATCH 03/11] Create Assignment_2.py --- Assignment_2.py | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 Assignment_2.py diff --git a/Assignment_2.py b/Assignment_2.py new file mode 100644 index 0000000..e13199f --- /dev/null +++ b/Assignment_2.py @@ -0,0 +1,4 @@ +str=input("Enter Words with hyphen-separated:") +str=str.split('-') +str.sort() +print('-'.join(str)) \ No newline at end of file From cd3a930bf6ca1d493a24aebb348e2b2cf6b9bb49 Mon Sep 17 00:00:00 2001 From: Ammar Esam Date: Sun, 29 Jan 2023 19:24:39 +0100 Subject: [PATCH 04/11] =?UTF-8?q?Create=20=D9=90Assignment=5F3.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\331\220Assignment_3.py" | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 "\331\220Assignment_3.py" diff --git "a/\331\220Assignment_3.py" "b/\331\220Assignment_3.py" new file mode 100644 index 0000000..a803463 --- /dev/null +++ "b/\331\220Assignment_3.py" @@ -0,0 +1,13 @@ +def perfect_num_checker(n): + sum=0 + for i in range(1,n+1): + if n % i == 0: + sum+=i + sum=sum//2 + if n == sum: + print(n, " is a perfet number") + else: + print(n, " is not a perfer number") + +n = int(input("Enter a number:")) +perfect_num_checker(n) \ No newline at end of file From 05ae9fed622502f436071f16d8e2709dc7fd4682 Mon Sep 17 00:00:00 2001 From: Ammar Esam Date: Mon, 30 Jan 2023 02:46:49 +0100 Subject: [PATCH 05/11] Create Assignment_4.py --- Assignment_4.py | 78 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 Assignment_4.py diff --git a/Assignment_4.py b/Assignment_4.py new file mode 100644 index 0000000..f746dcf --- /dev/null +++ b/Assignment_4.py @@ -0,0 +1,78 @@ +import random +from tkinter import * + + +def generate(): + + password = gen_pass(password_length.get(), lowercase_len.get(), uppercase_len.get(),special_char.get()) + if password == 1: + password_lable.config(text='Total number of inputs are more than password length, please try again',fg='red', font=('Arial', 9)) + elif password == 2: + password_lable.config( text='Total number of inputs are less than password length, please try again', fg='red', font=('Arial', 9)) + else: + password_lable.config(text=f'Password is: {password}', fg='black', font=('Arial', 12)) + + + + + +def gen_pass(pl,lc,uc,sc): + password_length = int(pl) + lowercase_len = int(lc) + uppercase_len = int(uc) + special_char = sc + lowercase_alpha = "abcdefghijklmnopqrstuvwxyz" + uppercase_alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + password="" + if (lowercase_len+uppercase_len+len(special_char)) > password_length: + return 1 + elif (lowercase_len+uppercase_len+len(special_char)) < password_length: + return 2 + else: + lower = random.choices(lowercase_alpha, k=lowercase_len) + upper = random.choices(uppercase_alpha, k=uppercase_len) + lower.extend(upper) + lower.extend(special_char) + random.shuffle(lower) + print(lower) + for i in lower: + password+=i + return password + +screen = Tk() +title = screen.title('Random Password Generator') +canvas = Canvas(screen, width=400,height=500) +canvas.pack() + +password_length = Entry(screen, text='', font=('Arial', 12)) +password_length_label = Label(screen, text='Enter Password Length: ', font=('Arial', 12)) +canvas.create_window(200, 40, window=password_length_label) +canvas.create_window(200, 70, window=password_length) + +lowercase_len = Entry(screen, text='', font=('Arial', 12)) +lowercase_len_label = Label(screen, text='Enter number of lowercase letters: ', font=('Arial', 12)) +canvas.create_window(200, 120, window=lowercase_len_label) +canvas.create_window(200, 150, window=lowercase_len) + +uppercase_len = Entry(screen, text='', font=('Arial', 12)) +uppercase_len_label = Label(screen, text='Enter number of uppercase letters: ', font=('Arial', 12)) +canvas.create_window(200, 200, window=uppercase_len_label) +canvas.create_window(200, 230, window=uppercase_len) + +special_char = Entry(screen, text='', font=('Arial', 12)) +special_char_label = Label(screen, text='Enter any special characters: ', font=('Arial', 12)) +canvas.create_window(200, 280, window=special_char_label) +canvas.create_window(200, 300, window=special_char) + + +btn = Button(screen, text='Generate', font=('Arial', 15), bg='green', fg='#fff', command=generate) +canvas.create_window(200, 360, window=btn) +password_lable = Label(screen, text='') +canvas.create_window(200, 400, window=password_lable) + +screen.mainloop() + + + + + From f6819206690189442bcee1d299fa62af023b2529 Mon Sep 17 00:00:00 2001 From: Ammar Esam Date: Mon, 30 Jan 2023 23:51:05 +0100 Subject: [PATCH 06/11] Create Bonus_1.py --- Bonus_1.py | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 Bonus_1.py diff --git a/Bonus_1.py b/Bonus_1.py new file mode 100644 index 0000000..52ffc85 --- /dev/null +++ b/Bonus_1.py @@ -0,0 +1,8 @@ +# Program to filter out only the even items from a list +my_list = [1, 5, 4, 6, 8, 11, 3, 12] + +even_list = list(filter(lambda x: (x % 2 == 0), my_list)) +odd_list = list(filter(lambda x: (x % 2 != 0), my_list)) + +print(even_list) +print(odd_list) From 8646b52f20048c081ff7b7697d22ce4ee09eac39 Mon Sep 17 00:00:00 2001 From: Ammar Esam Date: Mon, 30 Jan 2023 23:51:10 +0100 Subject: [PATCH 07/11] Create Bonuse_2.py --- Bonuse_2.py | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Bonuse_2.py diff --git a/Bonuse_2.py b/Bonuse_2.py new file mode 100644 index 0000000..085f345 --- /dev/null +++ b/Bonuse_2.py @@ -0,0 +1,5 @@ +my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +even_list = list(filter(lambda x: (x % 2 == 0), my_list)) +odd_list = list(filter(lambda x: (x % 2 != 0), my_list)) +print('Even numbers from the said list: ', even_list) +print('Odd numbers from the said list: ', odd_list) From be634eeb34986a56da79c7f49d3322fcc02269f7 Mon Sep 17 00:00:00 2001 From: Ammar Esam Date: Mon, 30 Jan 2023 23:58:24 +0100 Subject: [PATCH 08/11] Update Bonus_1.py --- Bonus_1.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/Bonus_1.py b/Bonus_1.py index 52ffc85..20e8585 100644 --- a/Bonus_1.py +++ b/Bonus_1.py @@ -1,8 +1,4 @@ -# Program to filter out only the even items from a list -my_list = [1, 5, 4, 6, 8, 11, 3, 12] - -even_list = list(filter(lambda x: (x % 2 == 0), my_list)) -odd_list = list(filter(lambda x: (x % 2 != 0), my_list)) - -print(even_list) -print(odd_list) +dict = [{'make': 'Nokia', 'model': 216, 'color': 'Black'}, {'make': 'Mi Max', + 'model': '2', 'color': 'Gold'}, {'make': 'Samsung', 'model': 7, 'color': 'Blue'}] +print('Sorting the List of dictionaries based on make:',sorted(dict, key=lambda i: i['make'])) +print('Sorting the List of dictionaries based on color:',sorted(dict, key=lambda i: i['color'])) \ No newline at end of file From 9be60eddcc4e73d30941d142204e8feac34b7875 Mon Sep 17 00:00:00 2001 From: Ammar Esam Date: Tue, 31 Jan 2023 16:04:13 +0100 Subject: [PATCH 09/11] Update Assignment_4.py --- Assignment_4.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/Assignment_4.py b/Assignment_4.py index f746dcf..65cf8cf 100644 --- a/Assignment_4.py +++ b/Assignment_4.py @@ -3,8 +3,11 @@ def generate(): - - password = gen_pass(password_length.get(), lowercase_len.get(), uppercase_len.get(),special_char.get()) + """This function is to get the random password value from random_pass function + and validate the value + """ + password = random_pass(password_length.get( + ), lowercase_len.get(), uppercase_len.get(), special_char.get()) if password == 1: password_lable.config(text='Total number of inputs are more than password length, please try again',fg='red', font=('Arial', 9)) elif password == 2: @@ -16,7 +19,18 @@ def generate(): -def gen_pass(pl,lc,uc,sc): +def random_pass(pl,lc,uc,sc): + """This function is to pass the user inputs and generate random password + + Args: + pl (int): this is for the password length + lc (int): this is fo the lowercase letter length + uc (int): this is for the uppercase letter length + sc (int): this is for special charcters + + Returns: + string: the return is the generated random password + """ password_length = int(pl) lowercase_len = int(lc) uppercase_len = int(uc) From b572f6e414241d8db2533e538721e01621d40844 Mon Sep 17 00:00:00 2001 From: Ammar Esam Date: Tue, 31 Jan 2023 16:07:48 +0100 Subject: [PATCH 10/11] Create Assignment_3.py --- Assignment_3.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 Assignment_3.py diff --git a/Assignment_3.py b/Assignment_3.py new file mode 100644 index 0000000..a803463 --- /dev/null +++ b/Assignment_3.py @@ -0,0 +1,13 @@ +def perfect_num_checker(n): + sum=0 + for i in range(1,n+1): + if n % i == 0: + sum+=i + sum=sum//2 + if n == sum: + print(n, " is a perfet number") + else: + print(n, " is not a perfer number") + +n = int(input("Enter a number:")) +perfect_num_checker(n) \ No newline at end of file From 69dfda3c4b1416e634e30a90c9305fe0c224965a Mon Sep 17 00:00:00 2001 From: Ammar Esam Date: Tue, 31 Jan 2023 16:08:36 +0100 Subject: [PATCH 11/11] =?UTF-8?q?Delete=20=D9=90Assignment=5F3.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\331\220Assignment_3.py" | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 "\331\220Assignment_3.py" diff --git "a/\331\220Assignment_3.py" "b/\331\220Assignment_3.py" deleted file mode 100644 index a803463..0000000 --- "a/\331\220Assignment_3.py" +++ /dev/null @@ -1,13 +0,0 @@ -def perfect_num_checker(n): - sum=0 - for i in range(1,n+1): - if n % i == 0: - sum+=i - sum=sum//2 - if n == sum: - print(n, " is a perfet number") - else: - print(n, " is not a perfer number") - -n = int(input("Enter a number:")) -perfect_num_checker(n) \ No newline at end of file