Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions py/p1.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
def asterisk_tree(height,level):
if level > height:
return
for i in range(height-level):
print(" ",end="")
for j in range(2*level-1):
print("*", end="")
print()
Expand Down
1 change: 1 addition & 0 deletions py/p10.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#Finding Average RGB values using the listmaker fuction to generate list of rgb values for a pixel

def listmaker(r,g,b,list1=[]):
list1=[]
list1.append(r)
list1.append(g)
list1.append(b)
Expand Down
8 changes: 4 additions & 4 deletions py/p11.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Function to convert decimal to binary number

def binaryconversion(n):
print(n % 2,end = '')
if n > 1:
binaryconversion(n/2)
if n > 1:
binaryconversion(n // 2)
print(n % 2, end='')

number=int(input("Enter Number: "))
number = int(input("Enter Number: "))
binaryconversion(number)
print()
24 changes: 12 additions & 12 deletions py/p12.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,22 @@
t = len(B)
r = len(B[0])

if(q!=t):
print("Error! Matrix sizes are not compatible")
quit()
if q != t:
print("Error! Matrix sizes are not compatible")
quit()

C = []
for row in range(p):
curr_row = []
for col in range(r):
curr_row.append(0)
C.append(curr_row)
curr_row = []
for col in range(r):
curr_row.append(0)
C.append(curr_row)

for i in range(p):
for j in range(r):
curr_val = 0
for k in range(q):
curr_val += A[i][k]*B[k][j]
C[i][j] = curr_val
for j in range(r):
curr_val = 0
for k in range(q):
curr_val += A[i][k] * B[k][j]
C[i][j] = curr_val

print(C)
1 change: 1 addition & 0 deletions py/p2.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# input- 1 -> output- [1], input- 2 -> output- [2]

def add_item(item, items=[]):
items=[]
items.append(item)
return items

Expand Down
19 changes: 9 additions & 10 deletions py/p3.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
#program to remove all even numbers from the beginning of a list
#eg: [2, 4, 6, 17, 10] -> [17, 10]

def delete_starting_evens(list):
for item in list:
if list[0] % 2 == 0:
list.pop(0)
else:
break
return list

list = [2, 8, 10, 11]
print(delete_starting_evens(list))
def delete_starting_evens(lst):
while lst and lst[0] % 2 == 0:
lst.pop(0)
return lst

lst = [2, 8, 10, 11]
print(delete_starting_evens(lst))


15 changes: 7 additions & 8 deletions py/p4.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,16 @@

def countSort(arr):
k = max(arr)
count = [0 for i in range(k+1)]
ans = [0 for i in range(len(arr))]
count = [0] * (k + 1)
ans = [0] * len(arr)
for i in arr:
count[i] += 1
for i in range(k+1):
count[i] += count[i-1]
for i in range(len(arr)-1, -1, -1):
ans[count[arr[i]]] = arr[i]
for i in range(1, k + 1):
count[i] += count[i - 1]
for i in range(len(arr) - 1, -1, -1):
ans[count[arr[i]] - 1] = arr[i]
count[arr[i]] -= 1
return ans

return ans
arr = [3, 4, 12, 2, 4, 5, 5, 6, 12, 33, 10, 1, 2, 8, 6]
ans = countSort(arr)
print (f"Sorted character array is {ans}")
8 changes: 2 additions & 6 deletions py/p5.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,8 @@ def get_number():
val1 = input('Enter a number: ')
try:
val1 = int(val1)
while val1 < 1 or val1 > 10:
val1 = input('Enter a number: ')
val1 = int(val1)

str_to_print = '{:.1f}'.format(val1)
return str_to_print
while val1 > 1 and val1 < 10:
return val1

except ValueError:
get_number()
Expand Down
18 changes: 9 additions & 9 deletions py/p6.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ def addBinary(a: str, b: str) -> str:
i = len(a) - 1
j = len(b) - 1

while i >= 0 or j >= 0:
if i >= 0:
carry += int(a[i])
i -= 1
if j >= 0:
carry += int(b[j])
j -= 1
s.append(str(carry % 2))
carry //= 2
while i >= 0 or j >= 0 or carry:
if i >= 0:
carry += int(a[i])
i -= 1
if j >= 0:
carry += int(b[j])
j -= 1
s.append(str(carry % 2))
carry //= 2

return ''.join(reversed(s))

Expand Down
9 changes: 2 additions & 7 deletions py/p7.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
#program to add two numbers represented by linked lists in reverse order
#e.g. 2->4->3 + 5->6->4 = 7->0->8 (342 + 465 = 807)

# Definition for singly-linked list.
class ListNode(object):
def __init__(self, val=0, next=None):
def _init_(self, val=0, next=None):
self.val = val
self.next = next

Expand All @@ -18,7 +14,7 @@ def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
digit1 = l1.val if l1 is not None else 0
digit2 = l2.val if l2 is not None else 0

sum = digit1 + digit2 + carry
sum_val = digit1 + digit2 + carry
digit = sum % 10
carry = sum // 10

Expand All @@ -30,5 +26,4 @@ def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
l2 = l2.next if l2 is not None else None

result = dummyHead.next
dummyHead.next = None
return result
23 changes: 9 additions & 14 deletions py/p8.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@

class Node(object):
# Doubly linked node
def __init__(self, data=None, next=None, prev=None):
def _init_(self, data=None, next=None, prev=None):
self.data = data
self.next = next
self.prev = prev
class doubly_linked_list(object):
def __init__(self):

class DoublyLinkedList(object):
def _init_(self):
self.head = None
self.tail = None
self.count = 0

def append_item(self, data):
# Append an item
# Append an item
new_item = Node(data, None, None)
if self.head is None:
self.head = new_item
Expand All @@ -26,23 +26,18 @@ def append_item(self, data):

self.count += 1

def print_foward(self):
print(self.iter())

def iter(self):
# Iterate the list
def print_forward(self):
current = self.head
while current:
item_val = current.data
print(current.data)
current = current.next
yield item_val

items = doubly_linked_list()
items = DoublyLinkedList()
items.append_item('C#')
items.append_item('C++')
items.append_item('PHP')
items.append_item('Java')
items.append_item('Python')

print("Print Items in the Doubly linked:")
items.print_foward()
items.print_forward()
4 changes: 2 additions & 2 deletions py/p9.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@

# Define a function named 'ispangram' that checks if a string is a pangram
def ispangram(str1, alphabet=string.ascii_lowercase):
alphaset = list(alphabet)
alphaset = set(alphabet)

str = list(str1.lower())
str = set(str1.lower())

# Check if all lowercase characters in the input string covers all characters in 'alphaset'
return alphaset <= str
Expand Down