การออกแบบอัลกอริธึมสองตัวเพื่อดำเนินงานนี้
สิ่งที่ยอดเยี่ยมประการหนึ่งเกี่ยวกับ Python ก็คือความจริงที่ว่าเป็นภาษาโปรแกรมระดับสูงที่มีฟังก์ชันสำหรับทำงานหลายอย่าง ซึ่งช่วยให้โปรแกรมเมอร์สามารถมุ่งเน้นไปที่งานอื่นได้
ฟังก์ชั่นหนึ่งที่เขียนด้วยภาษา Python คือ mode()[0] ซึ่งสามารถเลือกรายการที่ใช้บ่อยที่สุดในรายการได้ หากบุคคลต้องการเจาะลึกลงไปในไดนามิกของการเขียนโปรแกรม เขาจะต้องรู้วิธีสร้างอัลกอริทึมที่เลือกรายการที่ใช้บ่อยที่สุด
ในโพสต์นี้ ฉันได้ออกแบบอัลกอริธึมสองอัลกอริธึมเพื่อให้บรรลุวัตถุประสงค์นี้: อันแรกเป็นการเลือกตัวเลขในรายการ และอันที่สองเพื่อเลือกชื่อที่ใช้บ่อยที่สุดในรายการ
อัลกอริธึมแรกที่ฉันได้ออกแบบคือการเลือกหมายเลขที่ใช้บ่อยที่สุดจากรายการตัวเลข รหัสเทียมสำหรับอัลกอริทึมนี้เขียนไว้ด้านล่าง:-
- กำหนดรายการตัวเลขที่จะใช้
- กำหนดฟังก์ชันที่จะใช้เพื่อแยกหมายเลขที่ใช้บ่อยที่สุดออกจากรายการ
- กำหนดตัวแปร ตัวนับ และตั้งค่าเป็นศูนย์
- กำหนดตัวแปร num ซึ่งกำหนดให้เป็นตัวเลขแรกในรายการตัวเลข
- ตั้งค่า for loop ที่จะวนซ้ำแต่ละหมายเลขในรายการตามลำดับ
- กำหนดตัวแปรภายในลูปเป็น curr_frequency ซึ่งเป็นการนับจำนวนครั้งที่ตัวเลขปรากฏ
- หาก curr_frequency มากกว่าตัวนับ ตัวนับจะเท่ากับ curr_frequency
- ตัวแปร num จะกลายเป็นค่า i ซึ่งเป็นจำนวนการวนซ้ำผ่าน for loop ซึ่งจะทำให้งานที่ดำเนินการใน for loop เสร็จสมบูรณ์
- ฟังก์ชันเสร็จสมบูรณ์และตัวแปรที่ส่งคืนคือ num และ counter
- เมื่อฟังก์ชันเสร็จสมบูรณ์แล้ว ตัวแปรภายนอกฟังก์ชันจะถูกกำหนดเป็นตัวเลขและตัวนับ ซึ่งฟังก์ชันจะส่งคืน
- หมายเลขที่เกิดขึ้นบ่อยที่สุดและจำนวนครั้งที่เกิดขึ้นจะถูกพิมพ์ออกมา
รหัสสำหรับรหัสเทียมข้างต้นสามารถพบได้ในภาพหน้าจอด้านล่าง: -
อัลกอริทึมที่สองที่ฉันสร้างขึ้นสามารถใช้เพื่อส่งคืนชื่อที่ใช้บ่อยที่สุดจากรายชื่อที่ไม่เรียงลำดับ อัลกอริธึมนี้ซับซ้อนกว่าอัลกอริธึมก่อนหน้าเนื่องจากใช้สองฟังก์ชัน นอกจากนี้ จะต้องสร้างพจนานุกรมเพื่อจัดเก็บชื่อและจำนวนเหตุการณ์ที่ชื่อปรากฏในรายการที่ไม่ได้เรียงลำดับ รหัสเทียมสำหรับอัลกอริทึมนี้เขียนไว้ด้านล่าง:-
- กำหนดรายชื่อที่ไม่เรียงลำดับ
- กำหนดฟังก์ชัน count_words ซึ่งจะสร้างพจนานุกรม dict และใส่ชื่อและจำนวนครั้งที่ปรากฏในรายการ
- ตัวแปร word_counter ถูกกำหนดให้เป็นพจนานุกรมเปล่า
- มีการสร้าง for loop ซึ่งจะวนซ้ำแต่ละชื่อในรายชื่อ
- หากชื่ออยู่ในพจนานุกรม word_counter ค่าของ word_counter สำหรับชื่อนั้นจะเพิ่มขึ้น 1 มิฉะนั้น ค่าของ word_counter จะเป็น 1
- เมื่อชื่อทั้งหมดในรายชื่อถูกวนซ้ำผ่านการวนซ้ำ for ฟังก์ชันจะส่งคืนพจนานุกรมที่สร้างขึ้น word_counter
- ตัวแปร listofnames ถูกกำหนดไว้ ซึ่งเป็นพจนานุกรมที่ส่งออกจากฟังก์ชัน count_words
- ฟังก์ชันที่สองถูกกำหนดไว้ ซึ่งก็คือ max_value_dict ซึ่งรับรายชื่อที่ไม่ได้เรียงลำดับเป็นอินพุต
- ตัวแปร max_num ถูกกำหนดไว้ ซึ่งเป็นตำแหน่ง 0 ของค่าของพจนานุกรมที่ป้อนเข้าไป
- for loop ถูกสร้างขึ้นเพื่อวนซ้ำค่าทั้งหมดในพจนานุกรม
- หากค่าที่วนซ้ำของการวนซ้ำของพจนานุกรมมากกว่าตัวแปร max_num, max_num จะกลายเป็นค่านั้น
- เมื่อวนซ้ำ for ฟังก์ชันจะส่งกลับตัวแปร max_num และตำแหน่งของพจนานุกรมที่ถือโดย max_num
- เมื่อฟังก์ชันเสร็จสมบูรณ์แล้ว ตัวแปร max_num และชื่อที่ได้รับความนิยมมากที่สุดจะถูกกำหนดให้เป็นเอาต์พุตของฟังก์ชัน max_value_dict
- สคริปต์จะพิมพ์ชื่อที่ได้รับความนิยมสูงสุดและจำนวนครั้งที่ปรากฏในรายการที่ไม่เรียงลำดับ
รหัสสำหรับสคริปต์นี้สามารถพบได้ในภาพหน้าจอด้านล่าง:-
โดยสรุป โปรแกรมเมอร์ยังสามารถใช้ฟังก์ชันที่กำหนดไว้ล่วงหน้า โหมด() เพื่อค้นหาคำหรือตัวเลขที่เกิดขึ้นบ่อยที่สุดจากรายการ แต่หากบุคคลต้องการพัฒนาความรู้และทักษะในการเขียนโปรแกรม จะเป็นประโยชน์ที่จะรู้วิธี เพื่อสร้างอัลกอริธึมซึ่งสามารถใช้ในภาษาอื่นที่ไม่ใช่ Python
เนื้อหาเพิ่มเติมได้ที่ plainenglish.io ลงทะเบียนเพื่อรับ "จดหมายข่าวรายสัปดาห์ฟรี" ของเรา รับสิทธิพิเศษในการเข้าถึงโอกาสในการเขียนและคำแนะนำใน "ความไม่ลงรอยกันของชุมชน" ของเรา