ใช้เงื่อนไข if-elif-else แบบซ้อนกัน เพื่อตัดสินใจเลือกกิจกรรม

 

โจทย์

นักเรียนต้องตัดสินใจเลือกว่าจะทำอะไรในวันหยุด

  • โดยถ้าฝนตกหนักและน้ำท่วมจะนั่งอ่านหนังสืออยู่บ้าน

  • แต่ถ้าฝนตกหนักแต่น้ำไม่ท่วมก็จะออกไปเยี่ยมเพื่อนที่ปากซอย

  • ถ้าฝนตกปรอยๆ จะออกไปเดินเล่นที่ห้างสรรพสินค้าใกล้บ้าน

  • และถ้าฝนไม่ตกจะไปพักผ่อนที่ต่างจังหวัด

จงเขียนโปรแกรมเพื่อช่วยนักเรียนตัดสินใจตามโจทย์ข้างต้น

โปรแกรม

is_flooding = True
is_heavy_raining = False
is_light_raining = False

if is_heavy_raining and is_flooding and (not is_light_raining):
    print("I'm going to read a book at home.")
elif is_heavy_raining and (not is_flooding) and (not is_light_raining):
    print("I'm going to visit my friend.")
elif (not is_heavy_raining) and is_light_raining and (not is_flooding):
    print("I'm going to the mall.")
elif (not is_heavy_raining) and (not is_light_raining) and (not is_flooding):
    print("I'm going to upcountry.")
else:
    print("OK, I have nothing to do.")

คำอธิบายโปรแกรม

โปรแกรมนี้ใช้เงื่อนไข if-elif-else เพื่อตัดสินใจเลือกกิจกรรมตามสภาพอากาศ โดยมีขั้นตอนดังนี้:

  1. กำหนดตัวแปรสถานะสภาพอากาศ:

    • is_flooding: บอกว่ามีน้ำท่วมหรือไม่ (True คือมีน้ำท่วม)

    • is_heavy_raining: บอกว่าฝนตกหนักหรือไม่ (True คือฝนตกหนัก)

    • is_light_raining: บอกว่าฝนตกปรอยๆ หรือไม่ (True คือฝนตกปรอยๆ)

  2. ใช้เงื่อนไข if-elif-else เพื่อตรวจสอบสภาพอากาศและเลือกกิจกรรม:

    a. ถ้าฝนตกหนักและน้ำท่วม (และไม่ใช่ฝนตกปรอยๆ):

    • แสดงข้อความ "I'm going to read a book at home."

    b. ถ้าฝนตกหนักแต่น้ำไม่ท่วม (และไม่ใช่ฝนตกปรอยๆ):

    • แสดงข้อความ "I'm going to visit my friend."

    c. ถ้าฝนตกปรอยๆ (และไม่ใช่ฝนตกหนักและไม่มีน้ำท่วม):

    • แสดงข้อความ "I'm going to the mall."

    d. ถ้าไม่มีฝนตกและไม่มีน้ำท่วม:

    • แสดงข้อความ "I'm going to upcountry."

    e. ถ้าไม่ตรงกับเงื่อนไขใดๆ ข้างต้น:

    • แสดงข้อความ "OK, I have nothing to do."

  3. โปรแกรมจะแสดงข้อความที่สอดคล้องกับสภาพอากาศที่กำหนดไว้ในตัวแปรสถานะ

โปรแกรมนี้แสดงการใช้เงื่อนไขแบบซ้อนกันเพื่อตัดสินใจเลือกกิจกรรมที่เหมาะสมกับสภาพอากาศที่แตกต่างกัน