หากคุณต้องการให้สตริงซ้ำกับอักขระ n ตัว ขั้นแรกให้ทำซ้ำทั้งสตริงเป็น n/len(s) ครั้ง และเพิ่มอักขระ n%len(s) ในตอนท้าย ตัวอย่างเช่น
def repeat_n(string, n): l = len(s) full_rep = n/l # Construct string with full repetitions ans = ''.join(string for i in xrange(full_rep)) # add the string with remaining characters at the end. 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'