15,919,434 members
See more:
I need to write the Hosoya's Triangle program in Python that print out the following result if we need 5 levels. The function should be recursive and follow the mentioned structure:
Python
```def computeTriangle(levels):
.
.
.
def printTriangle(triangle, levels):
.
.
.
def main():```

The expected output should be exactly like this:
```1

1  1

2  1  2

3  2   2  3

5  3  4  3  5```

What I have tried:

I have tried this code but the output is wrong:
Python
```def computeTriangle(levels):
if levels == 0:
return []
elif levels == 1:
return [[1]]
else:
triangle = computeTriangle(levels-1)
row = [1]
for i in range(1, levels-1):
row.append(triangle[-1][i-1] + triangle[-1][i])
row.append(1)
triangle.append(row)
return triangle

# Function to print the Hosoya Triangle
def printTriangle(triangle, levels):
for i in range(levels):
row = [str(triangle[i][j]) for j in range(i+1)]
print("  ".join(row))

# Main function
def main():

# Compute and print the Hosoya Triangle
levels = int(input("Enter the number of levels of the Hosoya Triangle to compute: "))
triangle = computeTriangle(levels)
printTriangle(triangle, levels)

if __name__ == '__main__':
main()```
Posted
Updated 22-Mar-23 20:00pm
v3

## Solution 1

Have a look here: Hosoya's Triangle - GeeksforGeeks[^] - it explains what you have to do pretty well, and provides code samples - I'd suggest you largely ignore them as you won't learn much unless you do it yourself.

v2
Richard MacCutchan 23-Mar-23 5:59am
Should there be a link at "here"?
OriginalGriff 24-Mar-23 4:09am
Yep. Dunno what happened there, Total Brain Failure, I assume.

Thank Chrome for Searchable Page History!
Maria61 23-Mar-23 8:18am
Is there any like or somethings to access the solution?
OriginalGriff 24-Mar-23 4:09am
Sorry about that - I have covid ATM so my brain appears to have failed. The links in there now.