หากต้องการให้สตริงซ้ำจนได้ความยาว n ตัวอักษร ให้ทำซ้ำสตริงทั้งหมด n/len(s) ครั้ง แล้วเพิ่มตัวอักษร n%len(s) ตัวท้ายสุด ตัวอย่าง:
def repeat_n(string, n):
l = len(string)
full_rep = n // l
# สร้างสตริงด้วยการซ้ำเต็มจำนวน
ans = ''.join(string for i in range(full_rep))
# เพิ่มตัวอักษรที่เหลือท้ายสุด
return ans + string[:n % l]
repeat_n('asdf', 10)ผลลัพธ์:
'asdfasdfas'
อีกวิธีใช้ตัวดำเนินการ * บนสตริงเพื่อทำซ้ำ ตัวอย่าง:
def repeat_n(string_to_expand, n):
return (string_to_expand * ((n // len(string_to_expand)) + 1))[:n]
repeat_n('asdf', 10)ผลลัพธ์:
'asdfasdfas'