{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "321\n" ] } ], "source": [ "num = input(\"Input a 3 digit number\\n\")\n", "num = int(num)\n", "num2 = \"\"\n", "num2 += str(num%10)\n", "num//=10\n", "num2 += str(num%10)\n", "num//=10\n", "num2 += str(num%10)\n", "num//=10\n", "print(num2)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n" ] } ], "source": [ "num = int(input(\"Input a 2 digit number\\n\"))\n", "num1 = num%10\n", "num//=10\n", "num1 += num%10\n", "print(num1)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "12\n" ] } ], "source": [ "num = int(input(\"Input a 6 digit number\\n\"))\n", "num1=0\n", "num1 += num%10\n", "num//=10\n", "num1 += num%10\n", "num//=10\n", "num1 += num%10\n", "num//=10\n", "num1 += num%10\n", "num//=10\n", "num1 += num%10\n", "num//=10\n", "num1 += num%10\n", "print(num1)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "321321\n" ] } ], "source": [ "num = int(input(\"Input a 6 digit number\\n\"))\n", "num1=\"\"\n", "num1 += str(num%10)\n", "num//=10\n", "num1 += str(num%10)\n", "num//=10\n", "num1 += str(num%10)\n", "num//=10\n", "num1 += str(num%10)\n", "num//=10\n", "num1 += str(num%10)\n", "num//=10\n", "num1 += str(num%10)\n", "num1 = int(num1)\n", "print(num1)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A is 20\n", "B is 10\n" ] } ], "source": [ "a = 10\n", "b = 20\n", "\n", "tmp=a\n", "a=b\n", "b=tmp\n", "\n", "a=a+b\n", "b=a-b\n", "a=a-b\n", "\n", "a,b=b,a\n", "\n", "print(\"A is \",a)\n", "print(\"B is \",b)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n" ] } ], "source": [ "a = int(input(\"Enter number 1\\n\"))\n", "b = int(input(\"Enter number 2\\n\"))\n", "c = int(input(\"Enter number 3\\n\"))\n", "d = int(input(\"Enter number 4\\n\"))\n", "e = int(input(\"Enter number 5\\n\"))\n", "'''\n", "greatest=0\n", "if(a>b and a>c and a>d and a>e):\n", " greatest = a\n", "if(b>a and b>c and b>d and b>e):\n", " greatest = b\n", "if(c>b and c>a and c>d and c>e):\n", " greatest = c\n", "if(d>b and d>c and d>a and d>e):\n", " greatest = d\n", "if(e>b and e>c and e>d and e>a):\n", " greatest = e\n", "\n", "print(greatest)\n", "'''\n", "\n", "greatest = a\n", "if(greatest 97     A --> 65    0 --> 48
\n", "b --> 98     B --> 66    1 --> 49
\n", "z --> 122    Z --> 90    9 --> 57
" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Lower case\n" ] } ], "source": [ "char = ord(input(\"Enter any character\"))\n", "if char in range(65,91):\n", " print(\"Capital\")\n", "elif char in range(97,123):\n", " print(\"Lower case\")\n", "elif char in range(48,58):\n", " print(\"Digit\")\n", "else:\n", " print(\"Special Symbol\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "for loop is used when range is given
\n", "while loop is used when range is **not** given" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "321\n" ] } ], "source": [ "num=int(input(\"Enter a number\"))\n", "reverse=0\n", "while num > 0:\n", " reverse=(reverse*10)+(num%10)\n", " num//=10\n", "print(reverse)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Day 2 29/01/25" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "False\n" ] } ], "source": [ "# Armstrong number 123 = 1^3 + 2^3 + 3^3\n", "num = int(input(\"Enter a number: \"))\n", "sum = 0\n", "num1 = num\n", "while num > 0:\n", " sum+=((num%10)*(num%10)*(num%10))\n", " num//=10\n", "print(sum==num1)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n", "153\n", "370\n", "371\n", "407\n" ] } ], "source": [ "# all armstrong till 1000\n", "for i in range(1,1001):\n", " num = i\n", " sum = 0\n", " num1 = num\n", " while num > 0:\n", " sum+=((num%10)*(num%10)*(num%10))\n", " num//=10\n", " if num1 == sum:\n", " print(i)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "False\n" ] } ], "source": [ "# Peterson 123 = 1!+2!+3!\n", "num=int(input(\"Enter a number: \"))\n", "sum=0\n", "num1=num\n", "while num > 0:\n", " remainder = num%10\n", " factorial = 1\n", " while remainder > 0:\n", " factorial*=remainder\n", " remainder-=1\n", " sum+=factorial\n", " num//=10\n", "print(sum==num1)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n", "2\n", "145\n" ] } ], "source": [ "for i in range(1,10001):\n", " num=i\n", " sum=0\n", " num1=num\n", " while num > 0:\n", " remainder = num%10\n", " factorial = 1\n", " while remainder > 0:\n", " factorial*=remainder\n", " remainder-=1\n", " sum+=factorial\n", " num//=10\n", " if sum==num1:\n", " print(i)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "False\n" ] } ], "source": [ "# Tech number 2025\n", "'''\n", "20 25\n", "20+25=45\n", "45*45=2025\n", "'''\n", "num=int(input(\"Enter a number: \"))\n", "mid = len(str(num))//2\n", "num1 = num\n", "rem1 = num%(10**mid)\n", "num//=(10**mid)\n", "sum=(rem1+num)**2\n", "print(sum==num1)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n", "81\n", "100\n", "2025\n", "3025\n", "9801\n", "10000\n" ] } ], "source": [ "for i in range(1,10001):\n", " num=i\n", " mid = len(str(num))//2\n", " num1 = num\n", " rem1 = num%(10**mid)\n", " num//=(10**mid)\n", " sum=(rem1+num)**2\n", " if sum==num1:\n", " print(i)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 \t 1\t 1\t 2\t 3\t 5\t 8\t 13\t 21\t 34\t 55\t 89\t 144\t 233\t 377\t 610\t 987\t 1597\t 2584\t 4181\t 6765\t 10946\t 17711\t 28657\t 46368\t 75025\t 121393\t 196418\t 317811\t 514229\t 832040\t 1346269\t 2178309\t 3524578\t 5702887\t 9227465\t 14930352\t 24157817\t 39088169\t 63245986\t 102334155\t 165580141\t 267914296\t 433494437\t 701408733\t 1134903170\t 1836311903\t 2971215073\t 4807526976\t 7778742049\t 12586269025\t 20365011074\t 32951280099\t 53316291173\t 86267571272\t 139583862445\t 225851433717\t 365435296162\t 591286729879\t 956722026041\t 1548008755920\t 2504730781961\t 4052739537881\t 6557470319842\t 10610209857723\t 17167680177565\t 27777890035288\t 44945570212853\t 72723460248141\t 117669030460994\t 190392490709135\t 308061521170129\t 498454011879264\t 806515533049393\t 1304969544928657\t 2111485077978050\t 3416454622906707\t 5527939700884757\t 8944394323791464\t 14472334024676221\t 23416728348467685\t 37889062373143906\t 61305790721611591\t 99194853094755497\t 160500643816367088\t 259695496911122585\t 420196140727489673\t 679891637638612258\t 1100087778366101931\t 1779979416004714189\t 2880067194370816120\t 4660046610375530309\t 7540113804746346429\t 12200160415121876738\t 19740274219868223167\t 31940434634990099905\t 51680708854858323072\t 83621143489848422977\t 135301852344706746049\t 218922995834555169026\t 354224848179261915075\t 573147844013817084101\t 927372692193078999176\t 1500520536206896083277\t 2427893228399975082453\t 3928413764606871165730\t 6356306993006846248183\t 10284720757613717413913\t 16641027750620563662096\t 26925748508234281076009\t 43566776258854844738105\t 70492524767089125814114\t 114059301025943970552219\t 184551825793033096366333\t 298611126818977066918552\t 483162952612010163284885\t 781774079430987230203437\t 1264937032042997393488322\t 2046711111473984623691759\t 3311648143516982017180081\t 5358359254990966640871840\t 8670007398507948658051921\t 14028366653498915298923761" ] } ], "source": [ "# fibonacci\n", "num = int(input(\"Enter a number: \"))\n", "n1 = 0\n", "n2 = 1\n", "print(n1,\"\\t\",n2, end=\"\")\n", "for i in range(2,num):\n", " n3 = n1+n2\n", " print(\"\\t\",n3,end=\"\")\n", " n1=n2\n", " n2=n3" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8.789516194048478e+34\n" ] } ], "source": [ "num=int(input(\"Enter a number: \"))\n", "x=int(input(\"Enter value for x: \"))\n", "sum=1\n", "for i in range(1,num):\n", " sum+=(x**i)/(i)\n", "print(sum)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "7.389056098930649\n" ] } ], "source": [ "def fact(num):\n", " if(num==1):\n", " return 1\n", " return num*fact(num-1)\n", "\n", "num=int(input(\"Enter a number: \"))\n", "x=int(input(\"Enter value for x: \"))\n", "sum=1\n", "for i in range(1,num):\n", " sum+=(x**i)/(fact(i))\n", "print(sum)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "15129\n" ] } ], "source": [ "# Multiply 2 numbers without using * symbol\n", "num1=int(input(\"Enter the first number: \"))\n", "num2=int(input(\"Enter the first number: \"))\n", "sum=0\n", "for i in range(1,num1+1):\n", " sum+=num2\n", "print(sum)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1111\n", "2222\n", "3333\n", "4444\n" ] } ], "source": [ "for i in range(1,5):\n", " for j in range(1,5):\n", " print(i, end=\"\")\n", " print()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\t2\t3\t4\t5\t\n", "6\t7\t8\t9\t10\t\n", "11\t12\t13\t14\t15\t\n", "16\t17\t18\t19\t20\t\n", "21\t22\t23\t24\t25\t\n" ] } ], "source": [ "num=1\n", "for i in range(1,6):\n", " for j in range(1,6):\n", " print(num,end=\"\\t\")\n", " num+=1\n", " print()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ABCD\n", "EFGH\n", "IJKL\n", "MNOP\n" ] } ], "source": [ "num=65\n", "for i in range(1,5):\n", " for j in range(1,5):\n", " print(chr(num),end=\"\")\n", " num+=1\n", " print()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n", "22\n", "333\n", "4444\n" ] } ], "source": [ "for i in range(1,5):\n", " for j in range(1,5):\n", " if j in range(1,i+1):\n", " print(i,end=\"\")\n", " # else:\n", " # print(\"$\",end=\"\")\n", " print()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " *\n", " **\n", " ***\n", "****\n" ] } ], "source": [ "for i in range(4,0,-1):\n", "# for i in range(1,5):\n", " for j in range(1,5):\n", " if j in range(1,i):\n", " print(\" \",end=\"\")\n", " else:\n", " print(\"*\",end=\"\")\n", " print()" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4444\n", "333\n", "22\n", "1\n" ] } ], "source": [ "for i in range(4,0,-1):\n", " for j in range(1,i+1):\n", " print(i,end=\"\")\n", " print()" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "****\n", " ***\n", " **\n", " *\n" ] } ], "source": [ "for i in range(1,5):\n", " for j in range(1,5):\n", " if j in range(1,i):\n", " print(\" \",end=\"\")\n", " else:\n", " print(\"*\",end=\"\")\n", " print()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 10/2/25" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pre Pearl" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " *\n", " ***\n", " *****\n", "*******\n" ] } ], "source": [ "for i in range(4,0,-1):\n", " for j in range(1,5):\n", " if j in range(1,i):\n", " print(\" \",end=\"\")\n", " else:\n", " print(\"*\",end=\"\")\n", " if j in range(i+1,5):\n", " print(\"*\", end=\"\")\n", " print()" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " *\n", " ***\n", " *****\n", "*******\n", " *****\n", " ***\n", " *\n" ] } ], "source": [ "for i in range(4,0,-1):\n", " for j in range(1,5):\n", " if j in range(1,i):\n", " print(\" \",end=\"\")\n", " else:\n", " print(\"*\",end=\"\")\n", " if j in range(i+1,5):\n", " print(\"*\", end=\"\")\n", " print()\n", "\n", "for i in range(2,5):\n", " for j in range(1,5):\n", " if j in range(1,i):\n", " print(\" \",end=\"\")\n", " else:\n", " print(\"*\",end=\"\")\n", " if j in range(i+1,5):\n", " print(\"*\", end=\"\")\n", " print()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pearl" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "# for i in range(1, 5):\n", " " ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "* * * * * * * * * \n", "* * * * * * * * * \n", "* * * * * * * * * \n", "* * * * * * * * * \n", "* * * * * * * * * \n", "* * * * * * * * * \n", "* * * * * * * * * \n", "* * * * * * * * * \n", "* * * * * * * * * \n" ] } ], "source": [ "for i in range(1, 10):\n", " for j in range(1, 10): \n", " print(\"*\",end=\" \")\n", " print(\"\") " ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "***\n", " **\n", " *\n" ] } ], "source": [ "for i in range(1,4):\n", " for j in range(1,4):\n", " if j in range(1,i):\n", " print(\" \",end=\"\")\n", " else:\n", " print(\"*\",end=\"\")\n", " print() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Post Pearl" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "31\n" ] } ], "source": [ "# Print second largest\n", "list = [3,1,34,31,6,2,23,4,6,2,13]\n", "largest=list[0]\n", "second_largest = list[0]\n", "for num in list:\n", " if largest < num:\n", " second_largest = largest\n", " largest=num\n", " elif second_largest < num:\n", " second_largest=num\n", "print(second_largest)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 3, 4, 2]\n" ] } ], "source": [ "# Remove all duplicates from list\n", "list=[1,1,1,3,4,2,4,2]\n", "remove_dup=[]\n", "for num in list:\n", " if num not in remove_dup:\n", " remove_dup.append(num)\n", "list=remove_dup\n", "print(list)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Missing value is 2\n", "Missing value is 4\n", "Missing value is 6\n", "Missing value is 7\n", "Missing value is 8\n" ] } ], "source": [ "# Find the missing number\n", "list = [1,3,5,9]\n", "for i in range(list[0],list[-1]):\n", " if i not in list:\n", " print(\"Missing value is \",i)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[2]\n" ] } ], "source": [ "arr1=[1,2,2,1]\n", "arr2=[2,2]\n", "inter=[]\n", "for num in arr2:\n", " if num in arr1 and num not in inter:\n", " inter.append(num)\n", "print(inter)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[2, 3, 4, 5, 1]\n" ] } ], "source": [ "# Left shift\n", "\n", "def rotate_left(arr,num):\n", " num%=len(arr)\n", " return arr[num:]+arr[:num]\n", "\n", "arr=[1,2,3,4,5]\n", "print(rotate_left(arr,1))" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[6, 7, 8, 1, 2, 3, 4, 5]\n" ] } ], "source": [ "# Right shift\n", "\n", "def rotate_right(arr,num):\n", " num%=len(arr)\n", " return arr[-num:] + arr[:-num]\n", "\n", "print(rotate_right([1,2,3,4,5,6,7,8],3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 17/2/25" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, -1, 2, -2, 3, 4, -7]\n" ] } ], "source": [ "def largest_subarray_zero_sum(arr):\n", " prefix_sum = 0\n", " sum_index_map = {}\n", " max_length = 0\n", " start, end = -1, -1\n", "\n", " for i, num in enumerate(arr):\n", " prefix_sum += num\n", "\n", " if prefix_sum == 0:\n", " max_length = i + 1\n", " start, end = 0, i\n", "\n", " if prefix_sum in sum_index_map:\n", " if i - sum_index_map[prefix_sum] > max_length:\n", " max_length = i - sum_index_map[prefix_sum]\n", " start, end = sum_index_map[prefix_sum] + 1, i\n", " else:\n", " sum_index_map[prefix_sum] = i\n", "\n", " return arr[start:end + 1] if max_length > 0 else []\n", "\n", "# Example Usage:\n", "arr = [1, -1, 2, -2, 3, 4, -7, 8]\n", "print(largest_subarray_zero_sum(arr))\n" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[1, -2, 2, -3, 3, -1]" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Rearrange pos and negs to be alternating\n", "def alternating(arr):\n", " pos=[num for num in arr if num>0]\n", " negs=[num for num in arr if num<0]\n", " output=[]\n", " a,b=0,0\n", " for i in range(len(pos)+len(negs)):\n", " if i%2==0:\n", " output.append(pos[a])\n", " a+=1\n", " else:\n", " output.append(negs[b])\n", " b+=1\n", " return output\n", "arr=[1,2,3,-2,-3,-1]\n", "alternating(arr)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Find the majority element\n", "def majority(arr):\n", " votes=0\n", " n=len(arr)\n", " candidate=None\n", " for num in arr:\n", " if votes == 0:\n", " candidate=num\n", " elif num == candidate:\n", " votes+=1\n", " else:\n", " votes-=1\n", " count=0\n", " for i in range (n):\n", " if (arr[i] == candidate):\n", " count += 1\n", " \n", " if (count > n // 2):\n", " return candidate\n", " else:\n", " return -1\n", "\n", "arr=[1,1,1,1,2,1,1]\n", "majority(arr)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[24, 12, 4, 1]" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Product of array except self\n", "def prod(arr):\n", " output=[]\n", " for num in arr:\n", " work=[]\n", " work.append(arr)\n", " for i in range(len(work[0])):\n", " if work[0][i] == num:\n", " work[0][i]=1\n", " break\n", " prod=1\n", " for number in work[0]:\n", " prod*=number\n", " output.append(prod)\n", " return output\n", "prod([1,2,3,4])" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[1, 2, 55, 0, 0]" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Move zeros to the end\n", "def move_zeros(arr):\n", " for num in arr:\n", " if num == 0:\n", " arr.remove(num)\n", " arr.append(num)\n", " return arr\n", "\n", "move_zeros([1,2,0,55,0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 19/2/25" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0, 0, 1, 1, 2, 2]\n" ] } ], "source": [ "# Dutch national flag\n", "# In an array containing 0s 1s and 2s sort in a single pass\n", "def dutch(arr):\n", " zeros=[]\n", " ones=[]\n", " twos=[]\n", " output=[]\n", " for num in arr:\n", " if num == 0:\n", " zeros.append(num)\n", " elif num == 1:\n", " ones.append(num)\n", " elif num ==2:\n", " twos.append(num)\n", " output.extend(zeros)\n", " output.extend(ones)\n", " output.extend(twos)\n", " return output\n", "\n", "arr=[2,0,1,2,1,0]\n", "print(dutch(arr))" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[2, 2]\n" ] } ], "source": [ "# Intersection of 3 arrays\n", "arr1=[1,2,2,1]\n", "arr2=[2,2,1]\n", "arr3=[2,2]\n", "inter=[]\n", "final=[]\n", "for num in arr2:\n", " if num in arr1:\n", " inter.append(num)\n", "for num in arr3:\n", " if num in inter:\n", " final.append(num)\n", "print(final)" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8\n" ] } ], "source": [ "# Maximum consecutive ones\n", "def maxOnes(arr):\n", " max_count=0\n", " current_count=0\n", " for num in arr:\n", " if num == 1:\n", " current_count+=1\n", " max_count = max(max_count,current_count)\n", " else:\n", " current_count=0\n", " return max(max_count,current_count)\n", "arr = [1,1,1,0,1,0,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1]\n", "print(maxOnes(arr))" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[1, 6], [8, 15], [25, 30], [32, 34]]" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# merge intervals\n", "def mergeIntervals(arr):\n", " arr.sort(key=lambda x: x[0])\n", " merged=[]\n", " for interval in arr:\n", " if not merged or merged[-1][1] < interval[0]:\n", " merged.append(interval)\n", " else:\n", " new_value=[merged[-1][0], interval[1]]\n", " merged.pop()\n", " merged.append(new_value)\n", " return merged\n", "arr=[[1,3], [2,6], [8, 10], [10,15],[32,34], [25,30]]\n", "mergeIntervals(arr)" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]\n" ] } ], "source": [ "# List of prime\n", "def is_prime(num):\n", " for i in range(2,num//2 +1):\n", " if num % i == 0:\n", " return False\n", " return True\n", "primes = []\n", "inp = int(input(\"Enter number: \"))\n", "for i in range(2,inp):\n", " if is_prime(i):\n", " primes.append(i)\n", "print(primes)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 24/2/25" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a\n", "n\n", "i\n", "and\n", "anand\n", "and panchdhari\n", "anand panchdhari\n", "anand panchdhari\n", "aadpnhhr\n", "irahdhcnap dnana\n", "iadca nn\n" ] } ], "source": [ "s='anand panchdhari'\n", "print(s[0])\n", "print(s[1])\n", "print(s[-1])\n", "print(s[2:5])\n", "print(s[:5])\n", "print(s[2:])\n", "print(s[:])\n", "print(s[::1])\n", "print(s[::2])\n", "print(s[::-1])\n", "print(s[::-2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Del keyword is used to delete variables, kinda like free() in c and c++" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "123\n" ] } ], "source": [ "a=123\n", "print(a)\n", "del a\n", "# print(a) # This line gives an error" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ".find() gives first occurance
.rfind() gives last occurance" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "6\n", "2\n", "15\n" ] } ], "source": [ "a='Anand is very fat'\n", "print(a.find('is'))\n", "print(a.find('a'))\n", "print(a.rfind('a'))" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8\n", "5\n", "3\n" ] } ], "source": [ "a='ababbbaabababaa'\n", "print(a.count('a'))\n", "print(a.count('ab'))\n", "print(a.count('a',3,10))" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Anand is very fat\n", "bbbbbbbb\n" ] } ], "source": [ "a='Anand is very thin'\n", "print(a.replace('thin','fat'))\n", "a='abababba'\n", "print(a.replace('a','b'))" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['Anand', 'mota', 'anand', 'Mota']\n", "bancho Anand\n", "bancho mota\n", "bancho anand\n", "bancho Mota\n", "['24/2/25']\n", "['24', '2', '25']\n" ] } ], "source": [ "a='Anand mota anand Mota'\n", "l1 = a.split()\n", "print(l1)\n", "for x in l1:\n", " print(\"bancho \",x)\n", "# .split() can also have a delimiter so it will be .split(\"delimiter\")\n", "date=\"24/2/25\"\n", "print(date.split()) # wrong\n", "print(date.split('/')) # right" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Anand is a mota is a anand is a Mota\n" ] } ], "source": [ "# join is used to join arrays together using 'delimiter'.join(array)\n", "s=' is a '.join(l1)\n", "print(s)" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ANAND MOTA ANAND MOTA\n", "anand mota anand mota\n", "Anand mota anand mota\n", "Anand Mota Anand Mota\n", "aNAND MOTA ANAND mOTA\n" ] } ], "source": [ "print(a.upper())\n", "print(a.lower())\n", "print(a.capitalize())\n", "print(a.title())\n", "print(a.swapcase())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ".isalnum()
\n", ".isalpha()
\n", ".isalpha()
\n", ".isdigit()
\n", ".islower()
\n", ".isupper()
\n", ".istitle()
\n", ".isspace()" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "olleh dnanA\n", "olleh dnanA\n" ] } ], "source": [ "# Reverse string without shortcut or function\n", "def rev(s):\n", " a=''\n", " for i in range(len(s)-1,-1,-1):\n", " a+=s[i]\n", " return (a)\n", "\n", "def rev1(s):\n", " a=''\n", " for x in s:\n", " a=x+a\n", " return a\n", "\n", "print(rev(\"Anand hello\"))\n", "print(rev1(\"Anand hello\"))" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'hathi mota a is Anand '" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Reverse order of words\n", "s = 'Anand is a mota hathi'\n", "def reverse_order_of_words(s):\n", " a=s.split()\n", " output=''\n", " for i in a:\n", " output = i + \" \" +output\n", " return output\n", "reverse_order_of_words(s)" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'olleH I ma dnanA'" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def reverse_internal_content_of_each_word(s):\n", " a=s.split()\n", " output=[]\n", " for x in a:\n", " output.append(x[::-1])\n", " return ' '.join(output)\n", "reverse_internal_content_of_each_word(\"Hello I am Anand\")" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'abc'" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def remove_duplicate_character_from_string(s):\n", " output=''\n", " for a in s:\n", " if a not in output:\n", " output+=a\n", " return output\n", "remove_duplicate_character_from_string('ababbababacabbababaabab')" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def is_valid_number(num):\n", " s=str(num)\n", " if len(s) == 10 and s.isdigit() and (s.startswith('9') or s.startswith('8') or s.startswith('7')):\n", " return True\n", " else: \n", " return False\n", "is_valid_number(8928474898)" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Yes\n" ] } ], "source": [ "def check_if_is_anagram(s1,s2):\n", " hello=True\n", " if len(s1) == len(s2):\n", " for a in s1:\n", " if a not in s2:\n", " hello=False\n", " else:\n", " hello=False\n", " print(\"Yes\" if hello else \"No\")\n", "check_if_is_anagram('silent','listen')" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def check_if_is_pangram(s):\n", " s = ''.join((s.lower()).split())\n", " out=''\n", " for a in s:\n", " if a not in out:\n", " out+=a\n", " return True if len(out)==26 else False\n", "check_if_is_pangram('abcdefghijklmnopqrstuvvwxyz')" ] } ], "metadata": { "kernelspec": { "display_name": "venv", "language": "python", "name": "venv" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.10" } }, "nbformat": 4, "nbformat_minor": 2 }