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

ตรวจสอบว่าตัวเลขทศนิยมเป็นเลขคู่หรือคี่ ใน Python


ปัญหา

สำหรับจำนวนเต็ม ตรวจสอบคู่/คี่ง่ายด้วยหลักสุดท้าย แต่ตัวเลขทศนิยมต้องพิจารณาหลักที่ไม่ใช่ศูนย์สุดท้ายหลังจุดทศนิยม

ตัวอย่าง

n = 200.290 → หลักที่ไม่ใช่ศูนย์สุดท้ายคือ 9 (คี่) → ผลลัพธ์ "Odd"

แนวคิดการแก้ปัญหา

  1. แปลงตัวเลขเป็นสตริง
  2. อ่านจากขวาไปซ้าย ข้ามศูนย์นำหน้าหลังจุดทศนิยม
  3. เมื่อเจอจุดทศนิยม ให้ตั้ง flag แล้วข้ามไป
  4. หลักแรกที่เจอ (ไม่ใช่ศูนย์/จุด) ตรวจสอบคู่/คี่

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

def solve(n):
    s = str(n)
    flag = False  # พบจุดทศนิยมแล้วหรือยัง
    for i in range(len(s)-1, -1, -1):
        if s[i] == '0' and not flag:
            continue
        if s[i] == '.':
            flag = True
            continue
        # พบหลักที่ไม่ใช่ศูนย์/จุด
        return "Even" if int(s[i]) % 2 == 0 else "Odd"

print(solve(200.290))  # Odd

อินพุต / เอาต์พุต

Input:  200.290
Output: Odd