So I'm wondering if this is possible. So, what I need to happen is to make my function return a string. Now the tricky part is that my function prints out a fancy pattern and I'm not sure how I can return my pattern as a string? I don't want it to actually print anything before I use the function in something like:
my_function(c,r)
x = 4
y = 5
a = my_function(x,y)
print(a)
Output:
*nothing here blank space*
*pattern printed*
Here is my code for the function my_function:
def my_function(c, r):
if(c > 0 and r > 0):
print("*" * c)
for i in range(r - 2):
if(c == 1):
print("*")
elif(c > 1):
print("*" + " " * (c - 2) + "*")
if(r > 1):
print("*" * c)
If I call the function as is, it will print everything. But I don't want it to print. I tried replacing all the print by return but it prints only the first line(which was not unexpected, since return will just terminate the function at line 1).