เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การอ้างอิงดัชนีและการต่อสตริง

มาดูหนึ่งในเทคนิคการเข้ารหัสที่เก่าแก่ที่สุดที่รู้จักกัน นั่นคือ Caesar cipher ซึ่งทำงานโดยการเลื่อนตัวอักษรแต่ละตัวในข้อความไปตามจำนวนตำแหน่งที่กำหนด ตัวอย่างเช่น เมื่อใช้ตัวอักษรภาษาอังกฤษและเลื่อน 1 ตำแหน่ง 'xyz' จะกลายเป็น 'yza' และในทางกลับกันสำหรับการถอดรหัส สังเกตว่า 'z' จะกลายเป็น 'a' ในกรณีนี้

ดังนั้น การเข้ารหัส/ถอดรหัสต้องการอาร์กิวเมนต์สองตัว ได้แก่ ข้อความและจำนวนเต็มที่เป็นคีย์สำหรับการเลื่อน (key = 1 สำหรับตัวอย่างข้างต้น)

โจทย์คือให้สร้างฟังก์ชันเข้ารหัสโดยใช้ตัวอักษรภาษาอังกฤษที่เก็บอยู่ในสตริง alphabet

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

ฝึกทำโจทย์สัมภาษณ์งานเขียนโค้ดด้วย Python

ดูคอร์ส

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

def encrypt(text, key):
  
    encrypted_text = ''

    # Fill in the blanks to create an encrypted text
    for char in text.lower():
        idx = (alphabet.____(____) + ____) % len(____)
        encrypted_text = encrypted_text + alphabet[idx]

    return encrypted_text

# Check the encryption function with the shift equals to 10
print(____("datacamp", ____))
แก้ไขและรันโค้ด