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