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

สระย้อนกลับของสตริงใน Python


สมมติว่าเรามีสตริงตัวพิมพ์เล็ก งานของเราคือย้อนกลับสระที่มีอยู่ในสตริง ดังนั้นหากสตริงคือ "สวัสดี" สตริงหลังการกลับตัวของสระจะเป็น "holle" สำหรับสตริง “programming” จะเป็น “primgrammong”

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • นำสตริงมาสร้างรายชื่อสระ และเก็บดัชนีไว้ด้วย
  • ย้อนกลับรายการสระ
  • ตั้งค่า idx :=0
  • สำหรับ i :=0 ถึงความยาวของสตริงที่กำหนด – 1
    • ถ้าฉันอยู่ในรายการดัชนี −
      • ใส่สระ[i] ลงในสตริงสุดท้าย
      • idx :=idx + 1
    • มิฉะนั้นให้ใส่ string[i] ลงในสตริงสุดท้าย
  • ส่งคืนรายการเป็นสตริง

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

class Solution:
   def reverseVowels(self, s):
      chars = list(s)
      index = []
      vowels = []
      for i in range(len(chars)):
         if chars[i] in ['a','e','i','o','u']:
         vowels.append(chars[i])
         index.append(i)
      vowels = vowels[::-1]
      final = []
      ind = 0
      for i in range(len(chars)):
      if i in index:
         final.append(vowels[ind])
         ind += 1
      else:
         final.append(chars[i])
   str1 = ""
   return str1.join(final)
ob1 = Solution()
print(ob1.reverseVowels("hello"))
print(ob1.reverseVowels("programming"))

อินพุต

"hello"
"programming"

ผลลัพธ์

holle
prigrammong