Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python ตรวจสอบว่าไบนารีเป็นพาลินโดรมหรือไม่

ใช้ฟังก์ชัน built-in ของ Python แตกต่างกัน แปลงตัวเลขเป็นไบนารีด้วย bin() แล้วกลับสตริงไบนารีและเปรียบเทียบกับต้นฉบับ ถ้าตรงกันเป็นพาลินโดรม ไม่ใช่则ไม่

ตัวอย่าง

Input: 5
Output: palindrome

คำอธิบาย

ไบนารีของ 5 คือ 101

กลับแล้วได้ 101 เปรียบเทียบตรงกับต้นฉบับ

จึงเป็นพาลินโดรม

อัลกอริทึม

Palindromenumber(n) /* n คือตัวเลข */
ขั้นตอนที่ 1: รับ n
ขั้นตอนที่ 2: แปลง n เป็นรูปไบนารี
ขั้นตอนที่ 3: ข้ามสองตัวอักษรแรกของสตริง
ขั้นตอนที่ 4: กลับสตริงไบนารีและเปรียบเทียบกับต้นฉบับ
ขั้นตอนที่ 5: ถ้าตรงกับต้นฉบับพิมพ์ Palindrome ไม่อย่างนั้นพิมพ์ not a palindrome

โค้ดตัวอย่าง

# ตรวจสอบว่าไบนารีของตัวเลขเป็นพาลินโดรมหรือไม่
def palindromenumber(n):
    # แปลงตัวเลขเป็นไบนารี
    bn_number = bin(n)
    # ข้ามสองตัวอักษรแรก เพราะ bin ใส่ '0b' นำหน้า
    bn_number = bn_number[2:]
    # กลับสตริงไบนารีและเปรียบเทียบกับต้นฉบับ
    if (bn_number == bn_number[-1::-1]):
        print(n, "เป็นเลขพาลินโดรม")
    else:
        print(n, "ไม่ใช่เลขพาลินโดรม")

# โปรแกรมหลัก
if __name__ == "__main__":
    n = int(input("ป้อนตัวเลข ::>"))
    palindromenumber(n)

ผลลัพธ์

ป้อนตัวเลข ::>10
10 ไม่ใช่เลขพาลินโดรม
ป้อนตัวเลข ::>9
9 เป็นเลขพาลินโดรม