Program to print double sided stair-case pattern

def pattern(n):

for i in range(1,n+1):

k =i + 1 if(i % 2 != 0) else i

for g in range(k,n):

if g>=k:

print(end=" ")

for j in range(0,k):

if j == k - 1:

print(" * ")

else:

print(" * ", end = " ")

n = 10

pattern(n)


Possible Words using given characters

def charCount(word):

dict = {}

for i in word:

dict[i] = dict.get(i, 0) + 1

return dict

def possible_words(lwords, charSet):

for word in lwords:

flag = 1

chars = charCount(word)

for key in chars:

if key not in charSet:

flag = 0

else:

if charSet.count(key) != chars[key]:

flag = 0

if flag == 1:

print(word)

if __name__ == "__main__":

input = ['goo', 'bat', 'me', 'eat', 'goal', 'boy', 'run']

charSet = ['e', 'o', 'b', 'a', 'm', 'g', 'l']

possible_words(input, charSet)