{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#20: Trains"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##Example number 20.1, Page number 20.4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "time taken to cross a telegraph post is 6.6 s\n",
      "time taken to cross a man running in same direction is 7.33 s\n",
      "time taken to cross a man running in opposite direction is 6.0 s\n",
      "time taken to cross a platform is 21.0 s\n",
      "time taken to cross a train is 16.8 s\n",
      "time taken to cross another train is 2 minutes 48.0 s\n",
      "time taken to cross another train is 7.2 s\n"
     ]
    }
   ],
   "source": [
    "#importing modules\n",
    "import math\n",
    "from __future__ import division\n",
    "\n",
    "#Variable declaration\n",
    "s=60;     #speed(km/h)\n",
    "Lt=110;   #length of train(m)\n",
    "L1=0;    \n",
    "L2=240;   #length of pplatform(m)\n",
    "L3=170;   #length of train(m)\n",
    "v1=6;      #speed of man(km/h)\n",
    "v2=54;     #speed of another train(km/hr)\n",
    "v3=80;     #speed of another train(km/hr)\n",
    "\n",
    "#Calculation\n",
    "Vt=s*5/18;     #speed of train(m/s)\n",
    "V1=v1*5/18;      #speed of man(m/s)\n",
    "V2=v2*5/18;      #speed of another train(m/s)\n",
    "V3=v3*5/18;      #speed of another train(m/s)\n",
    "t1=(Lt+L1)/Vt;   #time taken to cross a telegraph post(s)\n",
    "t2=(Lt+L1)/(Vt-V1);    #time taken to cross a man running in same direction(s)\n",
    "t3=(Lt+L1)/(Vt+V1);    #time taken to cross a man running in opposite direction(s) \n",
    "t4=(Lt+L2)/Vt;     #time taken to cross a platform(s)\n",
    "t5=(Lt+L3)/Vt;     #time taken to cross a train(s)\n",
    "t6=(Lt+L3)/(Vt-V2);    #time taken to cross another train(s)\n",
    "t6m=int(t6/60);    #time(m)\n",
    "t6s=t6-(t6m*60);\n",
    "t7=(Lt+L3)/(Vt+V3);    #time taken to cross another train(s)\n",
    "\n",
    "#Result\n",
    "print \"time taken to cross a telegraph post is\",t1,\"s\"\n",
    "print \"time taken to cross a man running in same direction is\",round(t2,2),\"s\"\n",
    "print \"time taken to cross a man running in opposite direction is\",t3,\"s\"\n",
    "print \"time taken to cross a platform is\",t4,\"s\"\n",
    "print \"time taken to cross a train is\",t5,\"s\"\n",
    "print \"time taken to cross another train is\",t6m,\"minutes\",t6s,\"s\"\n",
    "print \"time taken to cross another train is\",t7,\"s\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##Example number 20.2, Page number 20.5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "length of platform is 240.0 m\n"
     ]
    }
   ],
   "source": [
    "#importing modules\n",
    "import math\n",
    "from __future__ import division\n",
    "\n",
    "#Variable declaration\n",
    "s=54;   #speed of train(km/hr)\n",
    "t1=36;    #time(s)\n",
    "t2=20;    #time(s)\n",
    "V1=0;\n",
    "V2=0;\n",
    "L2=0;\n",
    "\n",
    "#Calculation\n",
    "Vt=s*5/18;     #speed of train(m/s)\n",
    "a=Vt*(t1-t2);\n",
    "L1=a+L2-(V1*t1)-(V2*t2);    #length of platform(m)\n",
    "\n",
    "#Result\n",
    "print \"length of platform is\",L1,\"m\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##Example number 20.3, Page number 20.6"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "speed of train is 12.5 m/s\n"
     ]
    }
   ],
   "source": [
    "#importing modules\n",
    "import math\n",
    "from __future__ import division\n",
    "\n",
    "#Variable declaration\n",
    "L1=0;     #length of man(m)\n",
    "L2=150;   #length of platform(m)\n",
    "t1=10;    #time(s)\n",
    "t2=22;    #time(s)\n",
    "V1=0;\n",
    "V2=0;\n",
    "\n",
    "#Calculation\n",
    "a=(L1+(V1*t1))-(L2+(V2*t2));\n",
    "Vt=a/(t1-t2);    #speed of train(m/s)\n",
    "\n",
    "#Result\n",
    "print \"speed of train is\",Vt,\"m/s\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##Example number 20.4, Page number 20.6"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "length of train is 50.0 m\n",
      "length of platform is 75.0 m\n"
     ]
    }
   ],
   "source": [
    "#importing modules\n",
    "import math\n",
    "from __future__ import division\n",
    "\n",
    "#Variable declaration\n",
    "L2=0;   #length of man(m)\n",
    "t1=18;    #time(s)\n",
    "t2=10;    #time(s)\n",
    "V1=0;\n",
    "V2=7*5/18;     #speed(m/s)\n",
    "Vt=25*5/18;    #speed of train(m/s)\n",
    "\n",
    "#Calculation\n",
    "Lt=((Vt-V2)*t2)-L2;      #length of train(m)\n",
    "L1=((Vt-V1)*t1)-Lt;      #length of platform(m)\n",
    "\n",
    "#Result\n",
    "print \"length of train is\",Lt,\"m\"\n",
    "print \"length of platform is\",L1,\"m\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##Example number 20.5, Page number 20.7"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "length of train is 45.0 m\n",
      "length of platform is 75.0 m\n"
     ]
    }
   ],
   "source": [
    "#importing modules\n",
    "import math\n",
    "from __future__ import division\n",
    "\n",
    "#Variable declaration\n",
    "L2=0;   #length of man(m)\n",
    "t1=12;    #time(s)\n",
    "t2=6;    #time(s)\n",
    "V1=0;\n",
    "V2=-9*5/18;     #speed(m/s)\n",
    "Vt=36*5/18;    #speed of train(m/s)\n",
    "\n",
    "#Calculation\n",
    "Lt=((Vt-V1)*t1)-L1;      #length of train(m)\n",
    "L1=((Vt-V1)*t1)-Lt;      #length of platform(m)\n",
    "\n",
    "#Result\n",
    "print \"length of train is\",Lt,\"m\"\n",
    "print \"length of platform is\",L1,\"m\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##Example number 20.6, Page number 20.7"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "speed of train is 11.0 m/s\n",
      "length of train is 65.0 m\n"
     ]
    }
   ],
   "source": [
    "#importing modules\n",
    "import math\n",
    "from __future__ import division\n",
    "\n",
    "#Variable declaration\n",
    "L1=210;   #length of tunnel(m) \n",
    "L2=122;   #length of tunnel(m)\n",
    "t1=25;    #time(s)\n",
    "t2=17;    #time(s)\n",
    "V1=0;\n",
    "V2=0;     #speed(m/s)\n",
    "\n",
    "#Calculation\n",
    "a=(L1+(V1*t1))-(L2+(V2*t2));\n",
    "Vt=a/(t1-t2);    #speed of train(m/s)\n",
    "Lt=((Vt-V1)*t1)-L1;      #length of train(m)\n",
    "\n",
    "#Result\n",
    "print \"speed of train is\",Vt,\"m/s\"\n",
    "print \"length of train is\",Lt,\"m\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##Example number 20.7, Page number 20.7"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "time taken by the train to cross the platform is 21.0 s\n"
     ]
    }
   ],
   "source": [
    "#importing modules\n",
    "import math\n",
    "from __future__ import division\n",
    "\n",
    "#Variable declaration\n",
    "L1=250;   #length of bridge(m) \n",
    "L2=130;   #length of platform(m)\n",
    "Lt=150;   #length of train(m)\n",
    "t1=30;    #time(s)\n",
    "V1=0;\n",
    "V2=0;     #speed(m/s)\n",
    "\n",
    "#Calculation\n",
    "t2=(Lt+L2)*t1/(Lt+L1);      #time taken by the train to cross the platform(s)\n",
    "\n",
    "#Result\n",
    "print \"time taken by the train to cross the platform is\",t2,\"s\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##Example number 20.8, Page number 20.8"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "time taken by the second train is 64.0 s\n"
     ]
    }
   ],
   "source": [
    "#importing modules\n",
    "import math\n",
    "from __future__ import division\n",
    "\n",
    "#Variable declaration\n",
    "Lt1_Lt2=100;     #difference in length(m)\n",
    "Vt1=90*5/18;    #speed of 1st train(m/s)\n",
    "Vt2=45*5/18;    #speed of 2nd train(m/s)\n",
    "t1=36;    #time(s)\n",
    "\n",
    "#Calculation\n",
    "t2=((Vt1*t1)-Lt1_Lt2)/Vt2;     #time taken by the second train(s)\n",
    "\n",
    "#Result\n",
    "print \"time taken by the second train is\",t2,\"s\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##Example number 20.9, Page number 20.8"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "speed of train is 94.0 km/h\n"
     ]
    }
   ],
   "source": [
    "#importing modules\n",
    "import math\n",
    "from __future__ import division\n",
    "\n",
    "#Variable declaration\n",
    "Lt=100;    #length of train(m)\n",
    "V=-6;      #speed of train(m/s)\n",
    "t=18/5;     #time(s)\n",
    "L=0;\n",
    "\n",
    "#Calculation\n",
    "x=t*1/t;\n",
    "Vt=(Lt+L+(x*V))/x;     #speed of train(m/s)\n",
    "\n",
    "#Result\n",
    "print \"speed of train is\",Vt,\"km/h\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "##Example number 20.10, Page number 20.8"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "speed of second person is 3.0 km/h\n"
     ]
    }
   ],
   "source": [
    "#importing modules\n",
    "import math\n",
    "from __future__ import division\n",
    "\n",
    "#Variable declaration\n",
    "Lt=75;     #length of train(m)\n",
    "L1=L2=0;\n",
    "t1=18;     #time(s)\n",
    "t2=15;     #time(s)\n",
    "V1=6*5/18;   #speed(km/h)\n",
    "\n",
    "#Calculation\n",
    "a=(Lt+L1)/t1;\n",
    "b=(Lt+L2)/t2;\n",
    "V2=(a+V1-b)*18/5;      #speed of second person(km/h)\n",
    "\n",
    "#Result\n",
    "print \"speed of second person is\",V2,\"km/h\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##Example number 20.11, Page number 20.9"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "speed of faster train is 42.0 m/s\n",
      "speed of slower train is 38.0 m/s\n"
     ]
    }
   ],
   "source": [
    "#importing modules\n",
    "import math\n",
    "from __future__ import division\n",
    "\n",
    "#Variable declaration\n",
    "L1=130;   #length of train(m)\n",
    "L2=110;   #length of train(m)\n",
    "t1=3;\n",
    "t2=60;   #time(s)\n",
    "\n",
    "#Calculation\n",
    "s1=((L1+L2)/2)*((1/t1)+(1/t2));    #speed of faster train(m/s)\n",
    "s2=((L1+L2)/2)*((1/t1)-(1/t2));    #speed of slower train(m/s)\n",
    "\n",
    "#Result\n",
    "print \"speed of faster train is\",s1,\"m/s\"\n",
    "print \"speed of slower train is\",s2,\"m/s\""
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}