rishabbansal21

Day-5

Jan 12th, 2021 (edited)
967
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.37 KB | None | 0 0
  1. #PALINDROME
  2.  
  3. def is_palindrome(s):
  4.     ss = str(s)
  5.     if ss == ss[::-1]: return True
  6.     return False
  7.  
  8. print(is_palindrome("n1a2m2a1n"))
  9.  
  10.  
  11. r = "Rishab"
  12. rr = ""
  13. for i in range(len(r)-1,-1,-1):
  14.     rr += r[i]
  15.  
  16. print(rr)
  17. print(r[::-1])
  18.  
  19.  
  20. print("")
  21. print("")
  22. print("---------------------------------------------------------------")
  23. print("")
  24. print("")
  25.  
  26. #ARMSTRONG NUMBER
  27. '''
  28. 153
  29. 1^3 + 5^3 + 3^3 == 153
  30.  
  31. 1634
  32. 1^4 + 6^4 + 3^4 + 4^4 == 1634
  33. '''
  34.  
  35. def is_armstrong(n):
  36.     sn = str(n)
  37.     ln = len(sn)
  38.  
  39.     t = 0
  40.     for i in sn:
  41.         t += int(i)**ln
  42.  
  43.     if t == n:
  44.         return True
  45.     return False
  46.  
  47.  
  48. print(is_armstrong(407))
  49.  
  50.  
  51.  
  52. print("")
  53. print("")
  54. print("---------------------------------------------------------------")
  55. print("")
  56. print("")
  57.  
  58. l1 = [10,2,3,4,6,7,1,9,8,44]
  59. l2 = [9,4,4,7,1,9,0,3]
  60.  
  61. #counter = min(len(l1), len(l2))
  62.  
  63. ll1 = len(l1)
  64. ll2 = len(l2)
  65.  
  66. if ll1>ll2: counter = ll2
  67. else: counter = ll1
  68.  
  69. l3 = []
  70. for i in range(counter):
  71.     l3.append(l2[i]-l1[i])
  72.  
  73. print(l3)
  74.  
  75.  
  76. print("")
  77. print("")
  78. print("---------------------------------------------------------------")
  79. print("")
  80. print("")
  81.  
  82.  
  83. l1 = [10,2,3,4,6,7,1,9,8,44]
  84. l2 = [9,4,4,7,1,9,0,3]
  85.  
  86. #DESIRED ANS: [-1, 2, 1, 3, -5, 2, -1, -6, -8, -44]
  87.  
  88. ll1 = len(l1)
  89. ll2 = len(l2)
  90.  
  91. if ll1>ll2: counter = ll1
  92. else: counter = ll2
  93.  
  94.  
  95. l3 = []
  96. for i in range(counter):
  97.     if i>=len(l2):
  98.         l3.append(-1*l1[i])
  99.     else:
  100.         l3.append(l2[i]-l1[i])
  101.  
  102. print(l3)
  103.  
  104.  
  105. print("")
  106. print("")
  107. print("---------------------------------------------------------------")
  108. print("")
  109. print("")
  110.  
  111. mat1 = [ [1 , 2, 3],
  112.          [4 , 5, 6],
  113.          [7 , 8, 9],
  114.          [10,11,12] ]
  115.  
  116. mat2 = [ [10,20,30],
  117.          [40,50,60],
  118.          [70,80,90],
  119.          [10,20,30] ]
  120.  
  121. mat3 = [ [],
  122.          [],
  123.          [],
  124.          [] ]
  125.  
  126. for i in range(len(mat1)):
  127.     for j in range(len(mat1[0])):
  128.         mat3[j].append(mat1[i][j] + mat2[i][j])
  129.  
  130. for i in range(len(mat3)):
  131.     print(mat3[i])
  132.  
  133.  
  134. '''
  135. [1,2,3]      [1,4,7]
  136. [4,5,6]  ->  [2,5,8]
  137. [7,8,9]      [3,6,9]
  138. '''
  139. print("")
  140. print("")
  141. print("---------------------------------------------------------------")
  142. print("")
  143. print("")
  144.  
  145. mat1 = [ [1 , 2, 3],
  146.          [4 , 5, 6],
  147.          [7 , 8, 9] ]
  148.  
  149. rows = len(mat1)
  150. cols = len(mat1[0])
  151.  
  152. mat2 = [ [],
  153.          [],
  154.          [] ]
  155.  
  156. for i in range(rows):
  157.     for j in range(cols):
  158.         mat2[j].append(mat1[i][j])
  159.  
  160. for i in range(len(mat1)):
  161.     print(mat1[i])
  162.  
  163. print("--------------")
  164.  
  165. for i in range(len(mat2)):
  166.     print(mat2[i])
  167.  
  168. print("")
  169. print("")
  170. print("---------------------------------------------------------------")
  171. print("")
  172. print("")
  173.  
  174.  
  175. mat1 = [ [1,2],
  176.          [3,4] ]
  177.  
  178. mat2 = [ [5,6],
  179.          [7,8] ]
  180.  
  181. mat3 = [ [0,0],
  182.          [0,0] ]
  183.  
  184.  
  185. for i in range(len(mat1)):
  186.     for j in range(len(mat2[0])):
  187.         for k in range(len(mat2)):
  188.             mat3[i][j] += mat1[i][k] * mat2[k][j]
  189.  
  190. for i in range(len(mat3)):
  191.     print(mat3[I])
  192.  
  193.  
  194. print("")
  195. print("")
  196. print("---------------------------------------------------------------")
  197. print("")
  198. print("")
  199.  
  200.  
  201. #SMALLEST FROM THE LIST
  202.  
  203. l = [4,5,6,2,3,9,1]
  204.  
  205. minl = l[0]
  206.  
  207. for i in range(len(l)):
  208.     if l[i] < minl:
  209.         minl = l[i]
  210.  
  211. print(minl)
  212.  
  213.  
  214. #LARGEST FROM THE LIST
  215.  
  216. l = [4,5,6,2,3,9,1]
  217.  
  218. maxl = l[0]
  219.  
  220. for i in range(len(l)):
  221.     if l[i] > maxl:
  222.         maxl = l[i]
  223.  
  224. print(maxl)
  225.  
  226.  
  227. # 2nd LARGEST FROM THE LIST
  228.  
  229. l = [4,6,2,3,9,1]
  230. #l.sort()
  231. #print(l[-2])
  232.  
  233. mn = max(l[0],l[1])   #SBSE BADA NUMBER
  234. sn = min(l[0],l[1])   #USSE CHHOTA NUMBER
  235.  
  236. for i in range(2,len(l)):
  237.     if l[i] > mn:
  238.         sn = mn
  239.         mn = l[i]
  240.  
  241.     elif l[i] > sn and mx > l[i]:
  242.         sn = l[i]
  243.  
  244. print("MEHNAT:", sn)
  245.  
  246.  
  247. print("")
  248. print("")
  249. print("---------------------------------------------------------------")
  250. print("")
  251. print("")
  252.  
  253. #SEARCHING
  254.  
  255. l = [1,3,12,4,5,12,7,12,9,44,12,12,87,54,12,30,76]
  256.  
  257. e = 12
  258.  
  259. for i in range(len(l)):
  260.     if l[i] == e:
  261.         print("Found! at", i+1, "th position")
  262.         break
  263.  
  264. print("")
  265. print("")
  266. print("---------------------------------------------------------------")
  267. print("")
  268. print("")
  269.  
  270. #BINARY SEARCH
  271.  
  272. l = [1,2,3,4,5,6,7,8,9,10]
  273.  
  274. def binsearch(arr, x):
  275.     low = 0
  276.     high = len(arr) - 1
  277.     mid = 0
  278.  
  279.     while low <= high:
  280.         mid = (low+high)//2
  281.  
  282.         if arr[mid] < x:
  283.             low = mid + 1
  284.  
  285.         elif arr[mid] > x:
  286.             high = mid - 1
  287.  
  288.         else:
  289.             return mid
  290.  
  291.     return -1
  292.  
  293. print(binsearch(l,3))
  294.  
  295.  
  296.  
  297. print("")
  298. print("")
  299. print("---------------------------------------------------------------")
  300. print("")
  301. print("")
  302.  
  303.  
  304. #INSERTION SORT
  305.  
  306.  
  307. def insertion_sort(arr):
  308.     for i in range(1, len(arr)):
  309.         key = arr[i]
  310.  
  311.         j = i-1
  312.         while j>=0 and key < arr[j]:
  313.             arr[j+1] = arr[j]
  314.             j-=1
  315.  
  316.         arr[j+1] = key
  317.  
  318.         print(i,"th iteration: ", arr)
  319.     print(arr)
  320.  
  321. insertion_sort([5,3,8,1,7])
  322.  
  323.  
  324.  
  325. print("")
  326. print("")
  327. print("---------------------------------------------------------------")
  328. print("")
  329. print("")
  330.  
  331.  
  332. #RECUSRION!
  333. #5! = 5*4*3*2*1
  334.  
  335. def fact(n):
  336.     f = 1
  337.     for i in range(2,n+1):
  338.         f *= i
  339.  
  340.     return(f)
  341.  
  342. print(fact(5))
  343.  
  344.  
  345.  
  346. def fact_rec(n):
  347.     if n<2:
  348.         return 1
  349.     else:
  350.         return n*fact_rec(n-1)
  351.  
  352. print(fact_rec(5))
  353.  
  354.  
  355.  
  356. print("")
  357. print("")
  358. print("---------------------------------------------------------------")
  359. print("")
  360. print("")
  361.  
  362. def fib(n):
  363.     n1 = 0
  364.     n2 = 1
  365.     print(n1)
  366.     print(n2)
  367.     for i in range(n):
  368.         nth = n1 + n2
  369.         n1 = n2
  370.         n2 = nth
  371.         print(nth)
  372.  
  373.  
  374. fib(10)
  375.  
  376. print("")
  377. print("")
  378.  
  379. def fib_rec(n):
  380.     if n == 1: return 1
  381.     elif n == 2: return 2
  382.     elif n>2: return fib_rec(n-1) + fib_rec(n-2)
  383.  
  384. print(fib_rec())
  385.  
Add Comment
Please, Sign In to add comment