From df28757d78ed4bc03ec8e9eda5cc2dfa74c48d2c Mon Sep 17 00:00:00 2001
From: Auke Klazema <klazema@astron.nl>
Date: Fri, 26 Nov 2021 15:56:02 +0100
Subject: [PATCH] Fix bug

---
 IntroProgrammingInPython.ipynb | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/IntroProgrammingInPython.ipynb b/IntroProgrammingInPython.ipynb
index 6f3c6ed..6e76454 100644
--- a/IntroProgrammingInPython.ipynb
+++ b/IntroProgrammingInPython.ipynb
@@ -2730,7 +2730,7 @@
    "source": [
     "print(\"I am looking for something\")\n",
     "\n",
-    "for item in (\"AMOLF\", \"ARCNL\", \"ASTRON\", \"CWI\", \"DIFFER\", \"Nikhef\", \"NIOZ\", \"NSCR\", \"SRON\"):    \n",
+    "for item in (\"AMOLF\", \"ARCNL\", \"ASTRON\", \"CWI\", \"DIFFER\", \"Nikhef\", \"NIOZ\", \"NSCR\", \"SRON\"):\n",
     "    if 'A' in item:\n",
     "        continue\n",
     "\n",
@@ -2860,10 +2860,12 @@
     "    # Exceptions\n",
     "    if not binary_str:\n",
     "        raise ValueError(\"Empty string was passed to the function\")\n",
+    "\n",
     "    is_negative = binary_str[0] == \"-\"\n",
     "    if is_negative:\n",
     "        binary_str = binary_str[1:]\n",
-    "    if not set(binary_str) == {'0', '1'}:\n",
+    "\n",
+    "    if is_not_binary(binary_str):\n",
     "        raise ValueError(\"Non-binary value was passed to the function\")\n",
     "\n",
     "    binary_str = (\n",
@@ -2871,15 +2873,21 @@
     "    )\n",
     "\n",
     "    hexadecimal = []\n",
+    "\n",
     "    for x in range(0, len(binary_str), 4):\n",
-    "        hexadecimal.append(BITS_TO_HEX[binary_str[x : x + 4]])\n",
+    "        string_chunk = binary_str[x : x + 4]\n",
+    "        hex_char = BITS_TO_HEX[string_chunk]\n",
+    "        hexadecimal.append(hex_char)\n",
+    "\n",
     "    hexadecimal_str = \"0x\" + \"\".join(hexadecimal)\n",
     "\n",
     "    if is_negative:\n",
     "        hexadecimal_str = \"-\" + hexadecimal_str\n",
-    "        \n",
+    "\n",
     "    return hexadecimal_str\n",
     "\n",
+    "def is_not_binary(string):\n",
+    "    return set(string) - {\"0\", \"1\"}\n",
     "\n",
     "bin_to_hexadecimal(input(\"Provide a binary number:\"))"
    ]
-- 
GitLab