เมื่อจำเป็นต้องค้นหาสตริงย่อยขนาด N ที่มีอักขระ K ต่างกัน ระบบจะกำหนดเมธอดที่ใช้พารามิเตอร์สามตัวและใช้เงื่อนไข "if" เพื่อส่งคืนสตริงที่ต้องการ
ตัวอย่าง
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน
def generate_my_string(string_size, substring_size, distinct_chars): my_string = "" count_1 = 0 count_2 = 0 for i in range (string_size): count_1 += 1 count_2 += 1 if (count_1 <= substring_size): if (count_2 <= distinct_chars): my_string = my_string + chr(96 + count_1) else: my_string = my_string + 'a' else: count_1 = 1 count_2 = 1 my_string = my_string + 'a' return my_string my_string_size = 8 my_substring_size = 6 K_distinct_chars = 4 print("The string size is :") print(my_string_size) print("The substring size is :") print(my_substring_size) print("The distinct characters count is :") print(K_distinct_chars) print("The resultant string is :") print(generate_my_string(my_string_size, my_substring_size, K_distinct_chars))
ผลลัพธ์
The string size is : 8 The substring size is : 6 The distinct characters count is : 4 The resultant string is : abcdaaab
คำอธิบาย
-
มีการกำหนดเมธอดที่ชื่อ 'generate_my_string' ซึ่งใช้ขนาดสตริง ขนาดสตริงย่อย และอักขระที่แตกต่างกันเป็นพารามิเตอร์
-
มีการกำหนดสตริงว่าง
-
ค่าจำนวนเต็มสองค่าเริ่มต้นเป็น 0
-
ขนาดสตริงถูกทำซ้ำ และค่าจำนวนเต็มสองค่าจะเพิ่มขึ้น
-
หากค่าจำนวนเต็มแรกน้อยกว่าหรือเท่ากับขนาดของสตริงย่อย อักขระจะถูกแปลงเป็นอักขระอื่น
-
มิฉะนั้น จะต่อด้วยตัวอักษร 'a'
-
มิฉะนั้น ตัวแปรจำนวนเต็มสองตัวจะถูกกำหนดให้เป็น 1
-
สตริงนี้ถูกส่งกลับเป็นเอาต์พุต
-
นอกเมธอด จะมีการกำหนดขนาดสตริง ขนาดสตริงย่อย และจำนวนอักขระที่แตกต่างกัน
-
ค่าเหล่านี้จะแสดงบนคอนโซล
-
วิธีการนี้ถูกเรียกโดยการส่งผ่านพารามิเตอร์เหล่านี้
-
เอาต์พุตจะแสดงบนคอนโซล