aboutsummaryrefslogtreecommitdiff
path: root/challenge-050/paulo-custodio/python/ch-2.py
diff options
context:
space:
mode:
author冯昶 <fengchang@novel-supertv.com>2024-09-02 15:40:05 +0800
committer冯昶 <fengchang@novel-supertv.com>2024-09-02 15:40:05 +0800
commit0c04a0825fd1dc67c5295fffdfbf3cb90ba075b8 (patch)
treed963a7fe57782d1d25580ea05c96f969768e8067 /challenge-050/paulo-custodio/python/ch-2.py
parent30a42138e1d8bdd2f174e06fb18515ced0b2b241 (diff)
parent0512711fccf91c731495f1dd901349cc900ec299 (diff)
downloadperlweeklychallenge-club-0c04a0825fd1dc67c5295fffdfbf3cb90ba075b8.tar.gz
perlweeklychallenge-club-0c04a0825fd1dc67c5295fffdfbf3cb90ba075b8.tar.bz2
perlweeklychallenge-club-0c04a0825fd1dc67c5295fffdfbf3cb90ba075b8.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-050/paulo-custodio/python/ch-2.py')
-rw-r--r--challenge-050/paulo-custodio/python/ch-2.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/challenge-050/paulo-custodio/python/ch-2.py b/challenge-050/paulo-custodio/python/ch-2.py
new file mode 100644
index 0000000000..7b3baa0f9d
--- /dev/null
+++ b/challenge-050/paulo-custodio/python/ch-2.py
@@ -0,0 +1,37 @@
+#!/usr/bin/env python3
+
+# Challenge 050
+#
+# TASK #2
+# Contributed by Ryan Thompson.
+# Noble Integer
+# You are given a list, @L, of three or more random integers between 1 and 50.
+# A Noble Integer is an integer N in @L, such that there are exactly N integers
+# greater than N in @L. Output any Noble Integer found in @L, or an empty list
+# if none were found.
+#
+# An interesting question is whether or not there can be multiple Noble Integers
+# in a list.
+#
+# For example,
+#
+# Suppose we have list of 4 integers [2, 6, 1, 3].
+#
+# Here we have 2 in the above list, known as Noble Integer, since there are
+# exactly 2 integers in the list i.e.3 and 6, which are greater than 2.
+#
+# Therefore the script would print 2.
+
+import sys
+
+def noble_int(nums):
+ out = []
+ for n in nums:
+ num_greater = len([x for x in filter(lambda x: x > n, nums)])
+ if num_greater == n:
+ out.append(n)
+ return out
+
+nums = [int(x) for x in range(1, len(sys.argv))]
+noble = noble_int(nums)
+print("("+", ".join(str(x) for x in noble)+")")