fp = open("c:/Users/alis/Documents/handsome_chris_sweater.txt", "w") pattern = "" # Each panel, as written in sweater recipe. # For the back panel in Size XS. a = [ ["p", "2/1RPC", "2/1LPC", "2/1RPC", "2/1LPC", "p"], ["k", "p2", "k2", "p4", "k2", "p2", "k"], ["p", "k2", "p2", "2/2RC", "p2", "k2", "p"], ["k", "p2", "k2", "p4", "k2", "p2", "k"], ["p", "2/1LPC", "2/1RPC", "2/1LPC", "2/1RPC", "p"], ["k2", "p4", "k2", "p4", "k2"], ["p2", "2/2LC", "p2", "2/2LC", "p2"], ["k2", "p4", "k2", "p4", "k2"], ] b = [ ["p", "3/3RC", "p2", "3/3LC", "p"], ["k", "p6", "k2", "p6", "k"], ["p", "k6", "p2", "k6", "p"], ["k", "p6", "k2", "p6", "k"], ] c = [ ["k1tbl", "p4", "1/1RC", "p4", "1/1RC", "p4", "1/1RC", "p4", "k1tbl"], ["p1tbl", "k4", "p2", "k4", "p2", "k4", "p2", "k4", "p1tbl"], ["k1tbl", "p3", "1/1RPC", "1/1LPC", "p2", "1/1RPC", "1/1LPC", "p2", "1/1RPC", "1/1LPC", "p3", "k1tbl"], ["p1tbl", "k3", "p", "k2", "p", "k2", "p", "k2", "p", "k2", "p", "k2", "p", "k3", "p1tbl"], ["k1tbl", "p2", "1/1RPC", "p2", "1/1LPC", "1/1RPC", "p2", "1/1LPC", "1/1RPC", "p2", "1/1LPC", "p2", "k1tbl",], ["p1tbl", "k2", "p", "k4", "p2", "k4", "p2", "k4", "p", "k2", "p1tbl"], ["k1tbl", "p2", "k", "p4", "1/1RC", "p4", "1/1RC", "p4", "k", "p2", "k1tbl"], ["p1tbl", "k2", "p", "k4", "p2", "k4", "p2", "k4", "p", "k2", "p1tbl"], ["k1tbl", "p2", "1/1LPC", "p2", "1/1RPC", "1/1LPC", "p2", "1/1RPC", "1/1LPC", "p2", "1/1RPC", "p2", "k1tbl"], ["p1tbl", "k3", "p", "k2", "p", "k2", "p", "k2", "p", "k2", "p", "k2", "p", "k3", "p1tbl"], ["k1tbl", "p3", "1/1LPC", "1/1RPC", "p2", "1/1LPC", "1/1RPC", "p2", "1/1LPC", "1/1RPC", "p3", "k1tbl"], ["p1tbl", "k4", "p2", "k4", "p2", "k4", "p2", "k4", "p1tbl"], ] cables = { "1/1RPC": "[ Sl 1 st onto back. k1, p1 ]", "1/1RC": "[ Sl 1 st onto back. k1, k1 ]", "1/1LPC": "[ Sl 1 st onto front. p1, k1 ]", "2/1RPC": "[ Sl 1 st onto back. k2, p1 ]", "2/1LPC": "[ Sl 2 sts onto front. p1, k2 ]", "2/2RC": "[ Sl 2 sts onto back. k2, k2 ]", "2/2LC": "[ Sl 2 sts onto front. k2, k2 ]", "3/3LC": "[ Sl 3 sts onto front. K3, K3 ]", "3/3RC": "[ Sl 3 sts onto back. K3, K3 ]", } # Phase 1: Substitute acronyms in panel instructions. panels = [a, b, c] for panel in panels: for row in panel: for i, acronym in enumerate(row): if acronym in cables.keys(): row[i] = cables[acronym] # Phase 2: Writing the sweater rows. for i in range(100): # Put the sweater rows you'd like to print here. pattern += f"Row {i + 1}\n" # row of sweater. added 1 for display purposes pattern += f"Panel A, Row {i % len(a) + 1}: {', '.join(a[i % len(a)])}\n" pattern += f"Panel B, Row {i % len(b) + 1}: {', '.join(b[i % len(b)])}\n" pattern += f"Panel C, Row {i % len(c) + 1}: {', '.join(c[i % len(c)])}\n" pattern += "\n" # Write to the text file. fp.write(pattern) fp.close()