This is for somebody else's hackerrank problem. This notebook explores some ways for doing the same thing (without even having a good definition of the problem).
In [1]:
n = 4
In [2]:
def foo(n):
for i in range(n):
for _ in range(n - i - 1):
print(' ', end='')
for _ in range(i+1):
print('#', end='')
print()
In [3]:
foo(n)
In [4]:
def foo(n):
for i in range(n):
for j in range(n):
if j < n - i - 1:
print(' ', end='')
else:
print('#', end='')
print()
In [5]:
foo(n)
In [6]:
def foo(n):
for i in range(n):
for j in range(n):
if j < n - i - 1:
c = ' '
else:
c = '#'
print(c, end='')
print()
In [7]:
foo(n)
In [8]:
def foo(n):
for i in range(n):
for j in range(n):
c = ' ' if j < n - i - 1 else '#'
print(c, end='')
print()
In [9]:
foo(n)
In [10]:
def foo(n):
for i in range(n):
for j in range(n):
print(' ' if j < n - i - 1 else '#', end='')
print()
In [11]:
foo(n)
In [12]:
def foo(n):
for i in range(n):
line = []
for j in range(n):
line.append(' ' if j < n - i - 1 else '#')
print(''.join(line))
In [13]:
foo(n)
In [14]:
def foo(n):
for i in range(n):
line = [
' ' if j < n - i - 1 else '#'
for j in range(n)
]
print(''.join(line))
In [15]:
foo(n)
In [16]:
def foo(n):
for i in range(n):
line = (
' ' if j < n - i - 1 else '#'
for j in range(n)
)
print(''.join(line))
In [17]:
foo(n)
In [18]:
def foo(n):
for i in range(n):
print(''.join(' ' if j < n - i - 1 else '#' for j in range(n)))
In [19]:
foo(n)
In [20]:
def foo(n):
line = [' ' for _ in range(n)]
for i in range(n):
line[n - i - 1] = '#'
print(''.join(line))
In [21]:
foo(n)
In [22]:
def foo(n):
for i in range(1, n+1):
print((n-i) * ' ' + i * '#')
In [23]:
foo(n)
In [24]:
'%*s' % (10, 'hello')
Out[24]:
In [25]:
def foo(n):
for i in range(n):
print('%*s' % (n, (i+1) * '#'))
In [26]:
foo(n)
In [27]:
def foo(n):
for n_hashes in range(1, n+1):
print('%*s' % (n, n_hashes * '#'))
In [28]:
foo(n)
In [ ]:
from functools import partial
In [ ]:
prompt = 'how many:'
get_values = (int(s) for s in iter(partial(input, prompt), 'quit'))
for n in get_values:
foo(n)