Skip to content

Commit ec800f4

Browse files
authored
Merge pull request #306 from p-retrover/feature/patterns
Added patterns
2 parents 28a8471 + 932696a commit ec800f4

11 files changed

+137
-0
lines changed

P/patterns/diamond1.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
n=int(input('enter number of layers:'))#horizontal layer
2+
3+
# first n vertical layers
4+
for i in range(n):
5+
print((n-i)*' ',(2*i+1)*'*')
6+
7+
# next n-1 vertical layers
8+
for i in range(n-2,-1,-1):
9+
print((n-i)*' ',(2*i+1)*'*')

P/patterns/diamond2.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
n=int(input('enter no layers:'))#horizontal layer
2+
for i in range(n+1):
3+
print((2*(n-i)+1)*' ',i*'* ')
4+
for i in range(n-1,-1,-1):
5+
print((2*(n-i)+1)*' ',i*'* ')

P/patterns/name_pattern1.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
'''
2+
Structure
3+
ex: omm
4+
o/p-->
5+
a
6+
b
7+
...
8+
o
9+
oa
10+
ob
11+
...
12+
om
13+
oma
14+
omb
15+
...
16+
omm
17+
18+
'''
19+
name1 = input('your name:')
20+
name = name1.replace(' ', '').lower()
21+
l = len(name)
22+
s = 0
23+
for i in range(l+1):
24+
print(" "*(l-i), name[:i])

P/patterns/name_pattern2.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
name = input("enter name: ")
2+
l = len(name)
3+
4+
for i in range(l):
5+
print(' '*(l-i)**2, name[i])
6+
for i in range(l-1,-1,-1):
7+
print(' '*(l-i)**2, name[i])

P/patterns/num_pattern_1.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
"""
2+
1
3+
2 2
4+
3 3 3
5+
4 4 4 4
6+
"""
7+
8+
for i in range(1, 10):
9+
for j in range(i):
10+
print(i, end=' ')
11+
print() # for new line

P/patterns/num_pattern_2.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
'''
2+
1
3+
1 2
4+
1 2 3
5+
1 2 3 4
6+
'''
7+
8+
for i in range(5):
9+
num = 1
10+
for j in range(i+1):
11+
print(num, end=' ')
12+
num += 1
13+
print() # for new line

P/patterns/num_pattern_3.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
'''
2+
1
3+
2 3
4+
4 5 6
5+
7 8 9 10
6+
'''
7+
num = 1
8+
for i in range(1, 10):
9+
for j in range(i):
10+
print(num, end=' ')
11+
num += 1
12+
print()

P/patterns/num_pattern_4.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
'''
2+
1
3+
2 3 4
4+
5 6 7 8 9
5+
10 11 12 13 14 15 16
6+
'''
7+
num = 1
8+
for i in range(1, 10, 2):
9+
for j in range(i):
10+
print(num, end=' ')
11+
num += 1
12+
print()

P/patterns/pyramid.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
n = int(input("enter height: "))
2+
3+
for i in range(n):
4+
for j in range(i+1):
5+
print("#", end='')
6+
7+
print()

P/patterns/string_ltr_format.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# program to write a string in v shape
2+
while True:
3+
x = input('enter text:')
4+
n = x.replace(' ', '')
5+
l = len(n)
6+
s = 0
7+
8+
if len(x) == 1:
9+
print(0*' ',x)
10+
11+
else:
12+
for i in range(l):
13+
print(i*' ', n[i], (l-2-2*i)*' ', n[l-i-1])
14+
s += 1
15+
16+
# to stop it from continuing after meeting point
17+
if l-2-2*i == 0 or l-2-2*i == 1:
18+
break
19+
20+
if l % 2 != 0: # for words with odd no of letters
21+
print((i+2)*' ', n[l//2])
22+
23+
while True:
24+
rep = input('Try once more?(y/n):')
25+
if rep == 'y':
26+
break
27+
if rep == 'n':
28+
break
29+
if rep != 'y' or 'n':
30+
print('invalid entry')
31+
32+
if rep == 'y':
33+
continue
34+
if rep == 'n':
35+
print('thank you')
36+
break

0 commit comments

Comments
 (0)