ตัวอย่างโค้ดภาษา 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=' ')
อธิบายโค้ด
- กำหนดตัวแปร ls เป็นชนิด list
- วนลูปรับค่าข้อความจำนวน 3 ครั้ง และนำค่าที่ได้ในแต่ละครั้งเพิ่มเข้าไปในตัวแปร ls
- จัดเรียงค่าในตัวแปร ls โดยใช้ sort ซึ่งกำหนดให้เรียงตามความยาวของข้อความ key=len จะได้ความยาวจากน้อยไปมาก จากนั้นให้กลับค่าในตัวแปร ls โดยเพิ่ม reverse=True เพื่อให้เรียงจากความยาวมากไปน้อย
- วนลูปเพื่อนำค่าในตัวแปร ls มาแสดง โดยในแต่ละรอบให้นำค่ามาเก็บไว้ในตัวแปร s
- ตัวแปร s_len เก็บค่าความยาวของข้อความในรอบนั้นๆ จากตัวแปร s เพื่อใช้เปรียบเทียบกับรอบก่อนหน้า
- นำตัวแปร s_len มาเช็คกับตัวแปร x_len ถ้าไม่เท่ากันให้แสดงลำดับความยาว พร้อมข้อความ จากนั้นกำหนดให้ตัวแปร x_len มีค่าความยาวใหม่ และเพิ่มค่า i อีก 1 (ตัวแปร i ใช้สำหรับแสดงตัวเลขลำดับเท่านั้น)
- ถ้าข้อความในรอบถัดไปมีความยาวเท่ากับรอบที่ผ่านมา ให้ทำในเงื่อนไข else เพื่อแสดงข้อความในบรรทัดเดียวกันกับรอบก่อนหน้า