From 88de7ccff54281c55c5f2d19b825bb02268ee9bf Mon Sep 17 00:00:00 2001 From: souvikghosh05 Date: Wed, 3 Nov 2021 21:42:21 +0530 Subject: [PATCH 01/18] Python file for finding number of pairs --- maths/iterative_pair.py | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 maths/iterative_pair.py diff --git a/maths/iterative_pair.py b/maths/iterative_pair.py new file mode 100644 index 000000000000..f113ced558fb --- /dev/null +++ b/maths/iterative_pair.py @@ -0,0 +1,44 @@ +import math +import os +import random +import re +import sys +from collections import Counter +import doctest + +# +# Complete the 'sockMerchant' function below. +# +# The function is expected to return an INTEGER. +# The function accepts following parameters: +# 1. INTEGER n +# 2. INTEGER_ARRAY ar +# + + +def sockMerchant(n, ar): + """ + >>> sockMerchant(9, [10, 20, 20, 10, 10, 30, 50, 10, 20]) + 3 + >>> sockMerchant(4, [1, 1, 3, 3]) + 2 + + """ + + i = 0 + occur = Counter(ar) + + for x in occur.values(): + i += x // 2 + return i + + +if __name__ == "__main__": + + n = int(input("Enter length of array:- \n").strip()) + + ar = list(map(int, input("Enter the elements: \n").rstrip().split())) + + result = sockMerchant(n, ar) + print(result) + doctest.testmod() From 8ce37b7fcda379180a986165da1dc6e7bf32b8b5 Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Wed, 3 Nov 2021 16:13:33 +0000 Subject: [PATCH 02/18] updating DIRECTORY.md --- DIRECTORY.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/DIRECTORY.md b/DIRECTORY.md index e70c0aab64a7..a81aa1e38e71 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -39,6 +39,7 @@ * [Binary Xor Operator](https://github.com/TheAlgorithms/Python/blob/master/bit_manipulation/binary_xor_operator.py) * [Count 1S Brian Kernighan Method](https://github.com/TheAlgorithms/Python/blob/master/bit_manipulation/count_1s_brian_kernighan_method.py) * [Count Number Of One Bits](https://github.com/TheAlgorithms/Python/blob/master/bit_manipulation/count_number_of_one_bits.py) + * [Gray Code Sequence](https://github.com/TheAlgorithms/Python/blob/master/bit_manipulation/gray_code_sequence.py) * [Reverse Bits](https://github.com/TheAlgorithms/Python/blob/master/bit_manipulation/reverse_bits.py) * [Single Bit Manipulation Operations](https://github.com/TheAlgorithms/Python/blob/master/bit_manipulation/single_bit_manipulation_operations.py) @@ -63,7 +64,7 @@ * [Baconian Cipher](https://github.com/TheAlgorithms/Python/blob/master/ciphers/baconian_cipher.py) * [Base16](https://github.com/TheAlgorithms/Python/blob/master/ciphers/base16.py) * [Base32](https://github.com/TheAlgorithms/Python/blob/master/ciphers/base32.py) - * [Base64 Encoding](https://github.com/TheAlgorithms/Python/blob/master/ciphers/base64_encoding.py) + * [Base64](https://github.com/TheAlgorithms/Python/blob/master/ciphers/base64.py) * [Base85](https://github.com/TheAlgorithms/Python/blob/master/ciphers/base85.py) * [Beaufort Cipher](https://github.com/TheAlgorithms/Python/blob/master/ciphers/beaufort_cipher.py) * [Bifid](https://github.com/TheAlgorithms/Python/blob/master/ciphers/bifid.py) @@ -219,6 +220,7 @@ * Filters * [Bilateral Filter](https://github.com/TheAlgorithms/Python/blob/master/digital_image_processing/filters/bilateral_filter.py) * [Convolve](https://github.com/TheAlgorithms/Python/blob/master/digital_image_processing/filters/convolve.py) + * [Gabor Filter](https://github.com/TheAlgorithms/Python/blob/master/digital_image_processing/filters/gabor_filter.py) * [Gaussian Filter](https://github.com/TheAlgorithms/Python/blob/master/digital_image_processing/filters/gaussian_filter.py) * [Median Filter](https://github.com/TheAlgorithms/Python/blob/master/digital_image_processing/filters/median_filter.py) * [Sobel Filter](https://github.com/TheAlgorithms/Python/blob/master/digital_image_processing/filters/sobel_filter.py) @@ -492,6 +494,7 @@ * [Integration By Simpson Approx](https://github.com/TheAlgorithms/Python/blob/master/maths/integration_by_simpson_approx.py) * [Is Ip V4 Address Valid](https://github.com/TheAlgorithms/Python/blob/master/maths/is_ip_v4_address_valid.py) * [Is Square Free](https://github.com/TheAlgorithms/Python/blob/master/maths/is_square_free.py) + * [Iterative Pair](https://github.com/TheAlgorithms/Python/blob/master/maths/iterative_pair.py) * [Jaccard Similarity](https://github.com/TheAlgorithms/Python/blob/master/maths/jaccard_similarity.py) * [Kadanes](https://github.com/TheAlgorithms/Python/blob/master/maths/kadanes.py) * [Karatsuba](https://github.com/TheAlgorithms/Python/blob/master/maths/karatsuba.py) @@ -511,6 +514,7 @@ * [Modular Exponential](https://github.com/TheAlgorithms/Python/blob/master/maths/modular_exponential.py) * [Monte Carlo](https://github.com/TheAlgorithms/Python/blob/master/maths/monte_carlo.py) * [Monte Carlo Dice](https://github.com/TheAlgorithms/Python/blob/master/maths/monte_carlo_dice.py) + * [Nevilles Method](https://github.com/TheAlgorithms/Python/blob/master/maths/nevilles_method.py) * [Newton Raphson](https://github.com/TheAlgorithms/Python/blob/master/maths/newton_raphson.py) * [Number Of Digits](https://github.com/TheAlgorithms/Python/blob/master/maths/number_of_digits.py) * [Numerical Integration](https://github.com/TheAlgorithms/Python/blob/master/maths/numerical_integration.py) From 5b114c5db5d325738f686b70fd0c962d3792b5c9 Mon Sep 17 00:00:00 2001 From: souvikghosh05 Date: Wed, 3 Nov 2021 21:53:19 +0530 Subject: [PATCH 03/18] fixed iterative_pair.py --- maths/iterative_pair.py | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/maths/iterative_pair.py b/maths/iterative_pair.py index f113ced558fb..369cff26d4a8 100644 --- a/maths/iterative_pair.py +++ b/maths/iterative_pair.py @@ -1,19 +1,5 @@ -import math -import os -import random -import re -import sys -from collections import Counter import doctest - -# -# Complete the 'sockMerchant' function below. -# -# The function is expected to return an INTEGER. -# The function accepts following parameters: -# 1. INTEGER n -# 2. INTEGER_ARRAY ar -# +from collections import Counter def sockMerchant(n, ar): @@ -35,9 +21,9 @@ def sockMerchant(n, ar): if __name__ == "__main__": - n = int(input("Enter length of array:- \n").strip()) + n = int(input().strip()) - ar = list(map(int, input("Enter the elements: \n").rstrip().split())) + ar = list(map(int, input().rstrip().split())) result = sockMerchant(n, ar) print(result) From 05162dd354065dd899405088b4cf4177393e80d2 Mon Sep 17 00:00:00 2001 From: souvikghosh05 Date: Wed, 3 Nov 2021 22:08:05 +0530 Subject: [PATCH 04/18] further fixed with type casting --- maths/iterative_pair.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maths/iterative_pair.py b/maths/iterative_pair.py index 369cff26d4a8..a8a6d3226dfb 100644 --- a/maths/iterative_pair.py +++ b/maths/iterative_pair.py @@ -2,7 +2,7 @@ from collections import Counter -def sockMerchant(n, ar): +def sockMerchant(n: int, ar: list[int]) -> int: """ >>> sockMerchant(9, [10, 20, 20, 10, 10, 30, 50, 10, 20]) 3 From b7df4ff8a9ad9a4cd7195efff735c6dd16f72440 Mon Sep 17 00:00:00 2001 From: souvikghosh05 Date: Wed, 3 Nov 2021 22:17:05 +0530 Subject: [PATCH 05/18] fixed naming conventions --- maths/iterative_pair.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maths/iterative_pair.py b/maths/iterative_pair.py index a8a6d3226dfb..3c46d6b7c668 100644 --- a/maths/iterative_pair.py +++ b/maths/iterative_pair.py @@ -2,7 +2,7 @@ from collections import Counter -def sockMerchant(n: int, ar: list[int]) -> int: +def sock_merchant(n: int, ar: list[int]) -> int: """ >>> sockMerchant(9, [10, 20, 20, 10, 10, 30, 50, 10, 20]) 3 @@ -25,6 +25,6 @@ def sockMerchant(n: int, ar: list[int]) -> int: ar = list(map(int, input().rstrip().split())) - result = sockMerchant(n, ar) + result = sock_merchant(n, ar) print(result) doctest.testmod() From a86c985b8bcc8ead246de84fcec6422a6bba2579 Mon Sep 17 00:00:00 2001 From: souvikghosh05 Date: Wed, 3 Nov 2021 22:25:35 +0530 Subject: [PATCH 06/18] further fixed with naming convention --- maths/iterative_pair.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/maths/iterative_pair.py b/maths/iterative_pair.py index 3c46d6b7c668..1f9b559fa582 100644 --- a/maths/iterative_pair.py +++ b/maths/iterative_pair.py @@ -2,11 +2,11 @@ from collections import Counter -def sock_merchant(n: int, ar: list[int]) -> int: +def sock_merchant(ar: list[int]) -> int: """ - >>> sockMerchant(9, [10, 20, 20, 10, 10, 30, 50, 10, 20]) + >>> sock_merchant([10, 20, 20, 10, 10, 30, 50, 10, 20]) 3 - >>> sockMerchant(4, [1, 1, 3, 3]) + >>> sock_merchant([1, 1, 3, 3]) 2 """ @@ -21,10 +21,8 @@ def sock_merchant(n: int, ar: list[int]) -> int: if __name__ == "__main__": - n = int(input().strip()) + array = list(map(int, input().rstrip().split())) - ar = list(map(int, input().rstrip().split())) - - result = sock_merchant(n, ar) + result = sock_merchant(array) print(result) doctest.testmod() From 3be15ca374f3ea3f01f725912dba59b939b058b5 Mon Sep 17 00:00:00 2001 From: souvikghosh05 Date: Thu, 4 Nov 2021 00:21:16 +0530 Subject: [PATCH 07/18] documented done --- maths/iterative_pair.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/maths/iterative_pair.py b/maths/iterative_pair.py index 1f9b559fa582..7ac1b79dc933 100644 --- a/maths/iterative_pair.py +++ b/maths/iterative_pair.py @@ -1,3 +1,5 @@ +"""Count equal element pairs in the given array""" + import doctest from collections import Counter From 31ce790c41e8e56247df97d4299df444053bfab8 Mon Sep 17 00:00:00 2001 From: souvikghosh05 Date: Thu, 4 Nov 2021 01:02:20 +0530 Subject: [PATCH 08/18] build issue fixed --- DIRECTORY.md | 2 +- digital_image_processing/edge_detection/canny.py | 1 - digital_image_processing/filters/sobel_filter.py | 1 - digital_image_processing/test_digital_image_processing.py | 5 ++--- maths/{iterative_pair.py => sock_merchant.py} | 0 5 files changed, 3 insertions(+), 6 deletions(-) rename maths/{iterative_pair.py => sock_merchant.py} (100%) diff --git a/DIRECTORY.md b/DIRECTORY.md index a81aa1e38e71..f34e77a4d5e7 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -494,7 +494,7 @@ * [Integration By Simpson Approx](https://github.com/TheAlgorithms/Python/blob/master/maths/integration_by_simpson_approx.py) * [Is Ip V4 Address Valid](https://github.com/TheAlgorithms/Python/blob/master/maths/is_ip_v4_address_valid.py) * [Is Square Free](https://github.com/TheAlgorithms/Python/blob/master/maths/is_square_free.py) - * [Iterative Pair](https://github.com/TheAlgorithms/Python/blob/master/maths/iterative_pair.py) + * [Sock Merchant](https://github.com/TheAlgorithms/Python/blob/master/maths/sock_merchant.py) * [Jaccard Similarity](https://github.com/TheAlgorithms/Python/blob/master/maths/jaccard_similarity.py) * [Kadanes](https://github.com/TheAlgorithms/Python/blob/master/maths/kadanes.py) * [Karatsuba](https://github.com/TheAlgorithms/Python/blob/master/maths/karatsuba.py) diff --git a/digital_image_processing/edge_detection/canny.py b/digital_image_processing/edge_detection/canny.py index 295b4d825c12..477ffcb9bbb1 100644 --- a/digital_image_processing/edge_detection/canny.py +++ b/digital_image_processing/edge_detection/canny.py @@ -1,6 +1,5 @@ import cv2 import numpy as np - from digital_image_processing.filters.convolve import img_convolve from digital_image_processing.filters.sobel_filter import sobel_filter diff --git a/digital_image_processing/filters/sobel_filter.py b/digital_image_processing/filters/sobel_filter.py index 33284a32f424..f28098655c42 100644 --- a/digital_image_processing/filters/sobel_filter.py +++ b/digital_image_processing/filters/sobel_filter.py @@ -3,7 +3,6 @@ # @Time : 2019/7/8 0008 下午 16:26 import numpy as np from cv2 import COLOR_BGR2GRAY, cvtColor, imread, imshow, waitKey - from digital_image_processing.filters.convolve import img_convolve diff --git a/digital_image_processing/test_digital_image_processing.py b/digital_image_processing/test_digital_image_processing.py index 40f2f7b83b6d..feb511e2dc73 100644 --- a/digital_image_processing/test_digital_image_processing.py +++ b/digital_image_processing/test_digital_image_processing.py @@ -2,9 +2,6 @@ PyTest's for Digital Image Processing """ from cv2 import COLOR_BGR2GRAY, cvtColor, imread -from numpy import array, uint8 -from PIL import Image - from digital_image_processing import change_contrast as cc from digital_image_processing import convert_to_negative as cn from digital_image_processing import sepia as sp @@ -15,6 +12,8 @@ from digital_image_processing.filters import median_filter as med from digital_image_processing.filters import sobel_filter as sob from digital_image_processing.resize import resize as rs +from numpy import array, uint8 +from PIL import Image img = imread(r"digital_image_processing/image_data/lena_small.jpg") gray = cvtColor(img, COLOR_BGR2GRAY) diff --git a/maths/iterative_pair.py b/maths/sock_merchant.py similarity index 100% rename from maths/iterative_pair.py rename to maths/sock_merchant.py From 92e368b6b044f5d3c7ec0f4557bc4797e8af1f07 Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Wed, 3 Nov 2021 19:33:03 +0000 Subject: [PATCH 09/18] updating DIRECTORY.md --- DIRECTORY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DIRECTORY.md b/DIRECTORY.md index f34e77a4d5e7..fd164c92e11c 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -494,7 +494,6 @@ * [Integration By Simpson Approx](https://github.com/TheAlgorithms/Python/blob/master/maths/integration_by_simpson_approx.py) * [Is Ip V4 Address Valid](https://github.com/TheAlgorithms/Python/blob/master/maths/is_ip_v4_address_valid.py) * [Is Square Free](https://github.com/TheAlgorithms/Python/blob/master/maths/is_square_free.py) - * [Sock Merchant](https://github.com/TheAlgorithms/Python/blob/master/maths/sock_merchant.py) * [Jaccard Similarity](https://github.com/TheAlgorithms/Python/blob/master/maths/jaccard_similarity.py) * [Kadanes](https://github.com/TheAlgorithms/Python/blob/master/maths/kadanes.py) * [Karatsuba](https://github.com/TheAlgorithms/Python/blob/master/maths/karatsuba.py) @@ -550,6 +549,7 @@ * [Sieve Of Eratosthenes](https://github.com/TheAlgorithms/Python/blob/master/maths/sieve_of_eratosthenes.py) * [Sigmoid](https://github.com/TheAlgorithms/Python/blob/master/maths/sigmoid.py) * [Simpson Rule](https://github.com/TheAlgorithms/Python/blob/master/maths/simpson_rule.py) + * [Sock Merchant](https://github.com/TheAlgorithms/Python/blob/master/maths/sock_merchant.py) * [Softmax](https://github.com/TheAlgorithms/Python/blob/master/maths/softmax.py) * [Square Root](https://github.com/TheAlgorithms/Python/blob/master/maths/square_root.py) * [Sum Of Arithmetic Series](https://github.com/TheAlgorithms/Python/blob/master/maths/sum_of_arithmetic_series.py) From 8ab059ab403aea7f4e6e659e943cd95a6f3d92be Mon Sep 17 00:00:00 2001 From: souvikghosh05 Date: Thu, 4 Nov 2021 01:06:33 +0530 Subject: [PATCH 10/18] Revert "documented done" This reverts commit 3be15ca374f3ea3f01f725912dba59b939b058b5. --- maths/sock_merchant.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/maths/sock_merchant.py b/maths/sock_merchant.py index 7ac1b79dc933..1f9b559fa582 100644 --- a/maths/sock_merchant.py +++ b/maths/sock_merchant.py @@ -1,5 +1,3 @@ -"""Count equal element pairs in the given array""" - import doctest from collections import Counter From 4024940f248180bf608362f3f922e77196c6880b Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 3 Nov 2021 20:58:39 +0100 Subject: [PATCH 11/18] Update canny.py --- digital_image_processing/edge_detection/canny.py | 1 + 1 file changed, 1 insertion(+) diff --git a/digital_image_processing/edge_detection/canny.py b/digital_image_processing/edge_detection/canny.py index 477ffcb9bbb1..295b4d825c12 100644 --- a/digital_image_processing/edge_detection/canny.py +++ b/digital_image_processing/edge_detection/canny.py @@ -1,5 +1,6 @@ import cv2 import numpy as np + from digital_image_processing.filters.convolve import img_convolve from digital_image_processing.filters.sobel_filter import sobel_filter From 733f600f9f3cf8ab7ed8ae9dc316e0c301e74244 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 3 Nov 2021 20:59:44 +0100 Subject: [PATCH 12/18] Update test_digital_image_processing.py --- digital_image_processing/test_digital_image_processing.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/digital_image_processing/test_digital_image_processing.py b/digital_image_processing/test_digital_image_processing.py index feb511e2dc73..40f2f7b83b6d 100644 --- a/digital_image_processing/test_digital_image_processing.py +++ b/digital_image_processing/test_digital_image_processing.py @@ -2,6 +2,9 @@ PyTest's for Digital Image Processing """ from cv2 import COLOR_BGR2GRAY, cvtColor, imread +from numpy import array, uint8 +from PIL import Image + from digital_image_processing import change_contrast as cc from digital_image_processing import convert_to_negative as cn from digital_image_processing import sepia as sp @@ -12,8 +15,6 @@ from digital_image_processing.filters import median_filter as med from digital_image_processing.filters import sobel_filter as sob from digital_image_processing.resize import resize as rs -from numpy import array, uint8 -from PIL import Image img = imread(r"digital_image_processing/image_data/lena_small.jpg") gray = cvtColor(img, COLOR_BGR2GRAY) From cf06141e83ed647821d27159a0ae7ca82a61a59e Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 3 Nov 2021 21:00:16 +0100 Subject: [PATCH 13/18] Update sobel_filter.py --- digital_image_processing/filters/sobel_filter.py | 1 + 1 file changed, 1 insertion(+) diff --git a/digital_image_processing/filters/sobel_filter.py b/digital_image_processing/filters/sobel_filter.py index f28098655c42..33284a32f424 100644 --- a/digital_image_processing/filters/sobel_filter.py +++ b/digital_image_processing/filters/sobel_filter.py @@ -3,6 +3,7 @@ # @Time : 2019/7/8 0008 下午 16:26 import numpy as np from cv2 import COLOR_BGR2GRAY, cvtColor, imread, imshow, waitKey + from digital_image_processing.filters.convolve import img_convolve From 7b4e515a6f14d9c39c112d9ff50d6ea53a7a8970 Mon Sep 17 00:00:00 2001 From: souvikghosh05 Date: Thu, 4 Nov 2021 01:30:22 +0530 Subject: [PATCH 14/18] requirements.txt fixed --- digital_image_processing/edge_detection/canny.py | 1 + digital_image_processing/filters/sobel_filter.py | 1 + digital_image_processing/test_digital_image_processing.py | 5 +++-- requirements.txt | 1 + 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/digital_image_processing/edge_detection/canny.py b/digital_image_processing/edge_detection/canny.py index 477ffcb9bbb1..295b4d825c12 100644 --- a/digital_image_processing/edge_detection/canny.py +++ b/digital_image_processing/edge_detection/canny.py @@ -1,5 +1,6 @@ import cv2 import numpy as np + from digital_image_processing.filters.convolve import img_convolve from digital_image_processing.filters.sobel_filter import sobel_filter diff --git a/digital_image_processing/filters/sobel_filter.py b/digital_image_processing/filters/sobel_filter.py index f28098655c42..33284a32f424 100644 --- a/digital_image_processing/filters/sobel_filter.py +++ b/digital_image_processing/filters/sobel_filter.py @@ -3,6 +3,7 @@ # @Time : 2019/7/8 0008 下午 16:26 import numpy as np from cv2 import COLOR_BGR2GRAY, cvtColor, imread, imshow, waitKey + from digital_image_processing.filters.convolve import img_convolve diff --git a/digital_image_processing/test_digital_image_processing.py b/digital_image_processing/test_digital_image_processing.py index feb511e2dc73..40f2f7b83b6d 100644 --- a/digital_image_processing/test_digital_image_processing.py +++ b/digital_image_processing/test_digital_image_processing.py @@ -2,6 +2,9 @@ PyTest's for Digital Image Processing """ from cv2 import COLOR_BGR2GRAY, cvtColor, imread +from numpy import array, uint8 +from PIL import Image + from digital_image_processing import change_contrast as cc from digital_image_processing import convert_to_negative as cn from digital_image_processing import sepia as sp @@ -12,8 +15,6 @@ from digital_image_processing.filters import median_filter as med from digital_image_processing.filters import sobel_filter as sob from digital_image_processing.resize import resize as rs -from numpy import array, uint8 -from PIL import Image img = imread(r"digital_image_processing/image_data/lena_small.jpg") gray = cvtColor(img, COLOR_BGR2GRAY) diff --git a/requirements.txt b/requirements.txt index c28238a0774f..ae8f4ea7afb9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,7 @@ beautifulsoup4 fake_useragent keras +keras<2.7.0 lxml matplotlib numpy From c8d3350997f60de95c8bd1b4c8e13b4c82b211a7 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 3 Nov 2021 21:01:04 +0100 Subject: [PATCH 15/18] keras<2.7.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index c28238a0774f..ef4e18043905 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ beautifulsoup4 fake_useragent -keras +keras<2.7.0 lxml matplotlib numpy From a32226a5838e67bb3d315b4a1f61dcc8d4c7eb8e Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 3 Nov 2021 21:09:31 +0100 Subject: [PATCH 16/18] Update sock_merchant.py --- maths/sock_merchant.py | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/maths/sock_merchant.py b/maths/sock_merchant.py index 1f9b559fa582..39c12511769c 100644 --- a/maths/sock_merchant.py +++ b/maths/sock_merchant.py @@ -1,28 +1,21 @@ -import doctest from collections import Counter -def sock_merchant(ar: list[int]) -> int: +def sock_merchant(colors: list[int]) -> int: """ >>> sock_merchant([10, 20, 20, 10, 10, 30, 50, 10, 20]) 3 >>> sock_merchant([1, 1, 3, 3]) 2 - """ - - i = 0 - occur = Counter(ar) - - for x in occur.values(): - i += x // 2 - return i + return sum(socks_by_color // 2 for socks_by_color in Counter(colors)) if __name__ == "__main__": - - array = list(map(int, input().rstrip().split())) - - result = sock_merchant(array) - print(result) + import doctest + doctest.testmod() + + colors = [int(x) for x in input().rstrip().split()] + print(f"sock_merchant({colors} = {sock_merchant(colors)}") + From a7c9643db38cbfee6ba1557fa50fd6613063d865 Mon Sep 17 00:00:00 2001 From: souvikghosh05 Date: Thu, 4 Nov 2021 01:49:54 +0530 Subject: [PATCH 17/18] doctest with black fixed --- maths/sock_merchant.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/maths/sock_merchant.py b/maths/sock_merchant.py index 39c12511769c..91ae6b1abe39 100644 --- a/maths/sock_merchant.py +++ b/maths/sock_merchant.py @@ -1,21 +1,27 @@ +import doctest from collections import Counter -def sock_merchant(colors: list[int]) -> int: +def sock_merchant(ar: list[int]) -> int: """ >>> sock_merchant([10, 20, 20, 10, 10, 30, 50, 10, 20]) 3 >>> sock_merchant([1, 1, 3, 3]) 2 """ - return sum(socks_by_color // 2 for socks_by_color in Counter(colors)) + + i = 0 + occur = Counter(ar) + + for x in occur.values(): + i += x // 2 + return i if __name__ == "__main__": - import doctest - + + array = list(map(int, input().rstrip().split())) + + result = sock_merchant(array) + print(result) doctest.testmod() - - colors = [int(x) for x in input().rstrip().split()] - print(f"sock_merchant({colors} = {sock_merchant(colors)}") - From b2251b1b17f9ccd3be5939249a02e0be51c7322a Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 3 Nov 2021 21:21:42 +0100 Subject: [PATCH 18/18] Update sock_merchant.py --- maths/sock_merchant.py | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/maths/sock_merchant.py b/maths/sock_merchant.py index 91ae6b1abe39..304efec9ba5e 100644 --- a/maths/sock_merchant.py +++ b/maths/sock_merchant.py @@ -1,27 +1,20 @@ -import doctest from collections import Counter -def sock_merchant(ar: list[int]) -> int: +def sock_merchant(colors: list[int]) -> int: """ >>> sock_merchant([10, 20, 20, 10, 10, 30, 50, 10, 20]) 3 >>> sock_merchant([1, 1, 3, 3]) 2 """ - - i = 0 - occur = Counter(ar) - - for x in occur.values(): - i += x // 2 - return i + return sum(socks_by_color // 2 for socks_by_color in Counter(colors).values()) if __name__ == "__main__": + import doctest - array = list(map(int, input().rstrip().split())) - - result = sock_merchant(array) - print(result) doctest.testmod() + + colors = [int(x) for x in input("Enter socks by color :").rstrip().split()] + print(f"sock_merchant({colors}) = {sock_merchant(colors)}")