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

ผลิตภัณฑ์สูงสุดขององค์ประกอบต่อเนื่องใน Python


Python มีไลบรารีที่ยอดเยี่ยมในการจัดการข้อมูล เราอาจพบความจำเป็นในการค้นหาผลคูณสูงสุดของตัวเลขสองตัวต่อเนื่องกันซึ่งเป็นส่วนหนึ่งของสตริงใหญ่ ในบทความนี้เราจะมาดูวิธีที่จะทำให้สำเร็จ

มีซิปและขนาดสูงสุด

เราแปลงสตริงเป็นรายการ จากนั้นสร้างคู่จากองค์ประกอบที่ต่อเนื่องกันด้วยความช่วยเหลือของการหั่น ใช้ * เราคูณทั้งคู่แล้วนำค่าสูงสุดจากผลลัพธ์ของการคูณจากแต่ละคู่

ตัวอย่าง

Astring = '5238521'
# Given string
print("Given String : ",Astring)
# Convert to list
Astring = list(Astring)
print("String converted to list:\n",Astring)
# Using max()
res = max(int(a) * int(b) for a, b in zip(Astring, Astring[1:]))
# Result
print("The maximum consecutive product is : " ,res)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given String : 5238521
String converted to list:
['5', '2', '3', '8', '5', '2', '1']
The maximum consecutive product is : 40

พร้อมแผนที่และสูงสุด

เราใช้แนวทางที่คล้ายคลึงกันข้างต้น แต่เราใช้ฟังก์ชันแผนที่เพื่อสร้างคู่ของจำนวนเต็มต่อเนื่องกัน จากนั้นใช้ฟังก์ชัน mul จากโมดูลตัวดำเนินการเพื่อคูณตัวเลขในคู่นี้ สุดท้ายใช้ฟังก์ชัน max เพื่อรับค่าสูงสุดของผลลัพธ์

ตัวอย่าง

from operator import mul
Astring = '5238521'
# Given string
print("Given String : ",Astring)
# Convert to list
Astring = list(Astring)
print("String converted to list:\n",Astring)
# Using max()
res = max(map(mul, map(int, Astring), map(int, Astring[1:])))
# Result
print("The maximum consecutive product is : " ,res)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given String : 5238521
String converted to list:
['5', '2', '3', '8', '5', '2', '1']
The maximum consecutive product is : 40