| Scheme | Rule | Example ('A') | |--------|------|----------------| | | Add a fixed number to each character’s position | A(0)+3 = 3 | | ASCII-based | Use ord() but modify it (e.g., subtract 30) | 65 → 35 | | Custom Alphabet Map | Create a dictionary: 'A':1, 'B':2,… | 1 |
Happy coding!
def encode(message): """ Encodes a string into a list of integers using a custom shift cipher. Each character is converted to its ASCII code, then shifted by +5. """ encoded_list = [] for ch in message: # Custom rule: shift ASCII value by 5 encoded_value = ord(ch) + 5 encoded_list.append(encoded_value) return encoded_list def decode(encoded_list): """ Decodes a list of integers back into the original string. Reverses the shift by subtracting 5 from each integer. """ decoded_message = "" for num in encoded_list: original_char = chr(num - 5) decoded_message += original_char return decoded_message secret = "Hello World" print("Original:", secret) 8.3 8 create your own encoding codehs answers
For CodeHS 8.3.8, the simplest yet “custom” method is to use a relative to the ASCII code, but explain it as your own invention. The teacher wants to see that you can map characters to unique integers and back. Step 2: Writing the Code – A Bulletproof Solution Here is a complete solution that passes CodeHS’s autograder. It uses a shift of 5 (you can change this to any number). | Scheme | Rule | Example ('A') |
Once you submit this, challenge yourself: modify the shift value or try a non-linear transformation. That’s where real computer science begins. """ encoded_list = [] for ch in message:
In this article, we’ll break down exactly what the problem asks, explore the logic behind encoding, and provide a clear, correct answer—while explaining why it works so you can adapt it for your own learning. Course Context: This problem appears in the "Strings" or "Cryptography" section of CodeHS’s Python curriculum (often in AP CSP or Intro to Computer Science in Python ).