aboutsummaryrefslogtreecommitdiff
path: root/challenge-032/paulo-custodio/python/ch-2.py
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-12-24 01:03:26 +0000
committerGitHub <noreply@github.com>2021-12-24 01:03:26 +0000
commitf13cc76081c7af1d173ee01166c8e725d3843f3a (patch)
treee0e79b1bdc232483dbb5f97a650f38b88700583b /challenge-032/paulo-custodio/python/ch-2.py
parent776396430ae1e9e0aa85d2e78bb92e38fd1556f7 (diff)
parentb2bda687c42cfc1229440dfb0d392e5fbad8f1d1 (diff)
downloadperlweeklychallenge-club-f13cc76081c7af1d173ee01166c8e725d3843f3a.tar.gz
perlweeklychallenge-club-f13cc76081c7af1d173ee01166c8e725d3843f3a.tar.bz2
perlweeklychallenge-club-f13cc76081c7af1d173ee01166c8e725d3843f3a.zip
Merge pull request #5407 from pauloscustodio/devel
Add Perl and Python solutions to challenge 032
Diffstat (limited to 'challenge-032/paulo-custodio/python/ch-2.py')
-rw-r--r--challenge-032/paulo-custodio/python/ch-2.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/challenge-032/paulo-custodio/python/ch-2.py b/challenge-032/paulo-custodio/python/ch-2.py
new file mode 100644
index 0000000000..6a0b7385c7
--- /dev/null
+++ b/challenge-032/paulo-custodio/python/ch-2.py
@@ -0,0 +1,35 @@
+#!/usr/bin/python3
+
+# Challenge 032
+#
+# Task #2
+# Contributed by Neil Bowers
+# ASCII bar chart
+# Write a function that takes a hashref where the keys are labels and the
+# values are integer or floating point values. Generate a bar graph of the
+# data and display it to stdout.
+#
+# The input could be something like:
+#
+# $data = { apple => 3, cherry => 2, banana => 1 };
+# generate_bar_graph($data);
+# And would then generate something like this:
+#
+# apple | ############
+# cherry | ########
+# banana | ####
+# If you fancy then please try this as well: (a) the function could let you
+# specify whether the chart should be ordered by (1) the labels, or (2) the
+# values.
+
+data = { 'apple':3, 'cherry':2, 'banana':1 }
+
+def chart(data):
+ # get size of keys
+ width = max([len(x) for x in data])
+
+ # output data
+ for key in sorted(data):
+ print(("{:"+str(width)+"s} | {}").format(key, "##"*data[key]))
+
+chart(data)