aboutsummaryrefslogtreecommitdiff
path: root/challenge-258/luca-ferrari/python
diff options
context:
space:
mode:
author冯昶 <fengchang@novel-supertv.com>2024-03-04 16:39:31 +0800
committer冯昶 <fengchang@novel-supertv.com>2024-03-04 16:39:31 +0800
commit8edd4508d3af07ed272eec6ceeca1a9789b5e68a (patch)
tree2db742aea75a7a3005575c04a7e44da6d5c88a1f /challenge-258/luca-ferrari/python
parentd64db60d9dcf17d59060a03f5b1fbc5e82fc1953 (diff)
parentad381c1123e47114d3d98f1749f9f354eebafcdd (diff)
downloadperlweeklychallenge-club-8edd4508d3af07ed272eec6ceeca1a9789b5e68a.tar.gz
perlweeklychallenge-club-8edd4508d3af07ed272eec6ceeca1a9789b5e68a.tar.bz2
perlweeklychallenge-club-8edd4508d3af07ed272eec6ceeca1a9789b5e68a.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-258/luca-ferrari/python')
-rw-r--r--challenge-258/luca-ferrari/python/ch-1.py25
-rw-r--r--challenge-258/luca-ferrari/python/ch-2.py36
2 files changed, 61 insertions, 0 deletions
diff --git a/challenge-258/luca-ferrari/python/ch-1.py b/challenge-258/luca-ferrari/python/ch-1.py
new file mode 100644
index 0000000000..4ba789cf54
--- /dev/null
+++ b/challenge-258/luca-ferrari/python/ch-1.py
@@ -0,0 +1,25 @@
+#!python
+
+#
+# Perl Weekly Challenge 258
+# Task 1
+#
+# See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-258>
+#
+
+import sys
+
+# task implementation
+# the return value will be printed
+def task_1( args ):
+ sum = 0
+ for n in args:
+ if len( n ) % 2 == 0:
+ sum += 1
+
+ return sum
+
+
+# invoke the main without the command itself
+if __name__ == '__main__':
+ print( task_1( sys.argv[ 1: ] ) )
diff --git a/challenge-258/luca-ferrari/python/ch-2.py b/challenge-258/luca-ferrari/python/ch-2.py
new file mode 100644
index 0000000000..a5f6a97177
--- /dev/null
+++ b/challenge-258/luca-ferrari/python/ch-2.py
@@ -0,0 +1,36 @@
+#!python
+
+#
+# Perl Weekly Challenge 258
+# Task 2
+#
+# See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-258>
+#
+
+import sys
+
+
+# task implementation
+# the return value will be printed
+def task_2( args ):
+ k = int( args[ 0 ] )
+ nums = list( map( int, args[ 1: ] ) )
+
+ def is_index_ok( v, k ):
+ b = '{0:08b}'.format( v )
+ count = sum( map( int, list( '{0:08b}'.format( v ) ) ) )
+ return count == k
+
+ indexes = list( filter( lambda i: is_index_ok( i, k ),
+ range(0, len( nums ) ) ) )
+
+ summy = 0
+ for i in indexes:
+ summy += nums[ i ]
+
+ return summy
+
+
+# invoke the main without the command itself
+if __name__ == '__main__':
+ print( task_2( sys.argv[ 1: ] ) )