หน้าหลัก » ภาษาไพธอน (Python) » โค้ด Python รับค่าข้อความ 3 ค่า แล้วแสดงผลจากค่าที่มีความยาวมากที่สุด ไปหาน้อยที่สุด โดยหากมีความยาวเท่ากันให้แสดงในลำดับเดียวกัน

โค้ด Python รับค่าข้อความ 3 ค่า แล้วแสดงผลจากค่าที่มีความยาวมากที่สุด ไปหาน้อยที่สุด โดยหากมีความยาวเท่ากันให้แสดงในลำดับเดียวกัน




ตัวอย่างโค้ดภาษา Python ในการรับค่าข้อความ 3 ค่า แล้วนำมาแสดงผลโดยเรียงจากค่าที่มีความยาวมากที่สุด ไปหาค่าที่มีความยาวน้อยที่สุด ในกรณีที่มีความยาวเท่ากันให้แสดงผลในลำดับเดียวกัน

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

'''
 Author    : CS Developers
 Author URI: https://www.comscidev.com
 Facebook  : https://www.facebook.com/CSDevelopers
'''

ls = []
for i in range(3):
    ls.append(input(f"ป้อนข้อความ ครั้งที่ {i+1} : "))

ls.sort(key=len, reverse=True)

x_len = 0
i = 1
for s in ls:
    s_len = len(s)
    if s_len != x_len:
        print(f"\nความยาวอันดับที่ {i} {s}", end=' ')
        x_len = s_len
        i = i+1
    else:
        print(s, end=' ')

อธิบายโค้ด

  1. กำหนดตัวแปร ls เป็นชนิด list
  2. วนลูปรับค่าข้อความจำนวน 3 ครั้ง และนำค่าที่ได้ในแต่ละครั้งเพิ่มเข้าไปในตัวแปร ls
  3. จัดเรียงค่าในตัวแปร ls โดยใช้ sort ซึ่งกำหนดให้เรียงตามความยาวของข้อความ key=len จะได้ความยาวจากน้อยไปมาก จากนั้นให้กลับค่าในตัวแปร ls โดยเพิ่ม reverse=True เพื่อให้เรียงจากความยาวมากไปน้อย
  4. วนลูปเพื่อนำค่าในตัวแปร ls มาแสดง โดยในแต่ละรอบให้นำค่ามาเก็บไว้ในตัวแปร s
  5. ตัวแปร s_len เก็บค่าความยาวของข้อความในรอบนั้นๆ จากตัวแปร s เพื่อใช้เปรียบเทียบกับรอบก่อนหน้า
  6. นำตัวแปร s_len มาเช็คกับตัวแปร x_len ถ้าไม่เท่ากันให้แสดงลำดับความยาว พร้อมข้อความ จากนั้นกำหนดให้ตัวแปร x_len มีค่าความยาวใหม่ และเพิ่มค่า i อีก 1 (ตัวแปร i ใช้สำหรับแสดงตัวเลขลำดับเท่านั้น)
  7. ถ้าข้อความในรอบถัดไปมีความยาวเท่ากับรอบที่ผ่านมา ให้ทำในเงื่อนไข else เพื่อแสดงข้อความในบรรทัดเดียวกันกับรอบก่อนหน้า

ผลลัพธ์

โค้ด Python รับค่าข้อความ 3 ค่า แล้วแสดงผลจากค่าที่มีความยาวมากที่สุด ไปหาน้อยที่สุด โดยหากมีความยาวเท่ากันให้แสดงในลำดับเดียวกัน