WEBVTT 1 00:00:04.710 --> 00:00:06.960 In the previous video, we checked that 2 00:00:06.960 --> 00:00:09.030 python was installed and then went ahead 3 00:00:09.030 --> 00:00:11.160 and installed idle on this computer, so now 4 00:00:11.160 --> 00:00:12.269 we're going to have a bit more of a look 5 00:00:12.269 --> 00:00:14.910 at idle. Now when developing software in 6 00:00:14.910 --> 00:00:16.980 any programming language, an integrated 7 00:00:16.980 --> 00:00:19.260 development environment or IDE makes 8 00:00:19.260 --> 00:00:21.080 life a lot easier for developers and 9 00:00:21.080 --> 00:00:23.190 that's because it allows you to enter 10 00:00:23.190 --> 00:00:25.470 compile and run your programs without 11 00:00:25.470 --> 00:00:28.260 having to leave the editor and really 12 00:00:28.260 --> 00:00:30.180 saves you having to go to a command line 13 00:00:30.180 --> 00:00:32.399 for a lot of programming. Now Python 14 00:00:32.399 --> 00:00:34.320 provides a very simple idea called idle 15 00:00:34.320 --> 00:00:36.030 which we installed and talked about 16 00:00:36.030 --> 00:00:38.100 briefly in the previous video. Now the 17 00:00:38.100 --> 00:00:39.810 name idle incidentally is a homage to 18 00:00:39.810 --> 00:00:41.940 Eric Idle one of the members of the 19 00:00:41.940 --> 00:00:44.820 comedy group Monty Python. Now idle 20 00:00:44.820 --> 00:00:46.530 interfaces directly with the Python 21 00:00:46.530 --> 00:00:48.960 interpreter. Now for a number of reasons 22 00:00:48.960 --> 00:00:51.420 that will become apparent as we progress 23 00:00:51.420 --> 00:00:53.520 through the course, we actually suggest 24 00:00:53.520 --> 00:00:56.610 using IntelliJ IDEA or pycharm instead 25 00:00:56.610 --> 00:00:58.739 of idle and in fact in the next video, 26 00:00:58.739 --> 00:00:59.790 we're going to be showing you how to go 27 00:00:59.790 --> 00:01:02.730 about installing IntelliJ IDEA, but that 28 00:01:02.730 --> 00:01:04.320 said if you'd prefer to stick with idle 29 00:01:04.320 --> 00:01:06.060 for any reason or if you have to access 30 00:01:06.060 --> 00:01:09.270 idle, it can sometimes be very useful. 31 00:01:09.270 --> 00:01:10.350 So in this video we're going to show you 32 00:01:10.350 --> 00:01:13.710 how to use the basics of idle. So I'm 33 00:01:13.710 --> 00:01:14.909 going to assume that you've installed it 34 00:01:14.909 --> 00:01:17.159 as shown in the last video, so you can 35 00:01:17.159 --> 00:01:18.869 start idle by going over to the 36 00:01:18.869 --> 00:01:21.360 applications menu and just type in 37 00:01:21.360 --> 00:01:24.030 idle, you can see that brings it up there 38 00:01:24.030 --> 00:01:25.799 I can just click on that now to start it 39 00:01:25.799 --> 00:01:29.310 up, there's my Python shell coming up 40 00:01:29.310 --> 00:01:31.200 which is actually idle running or we can 41 00:01:31.200 --> 00:01:32.040 go to the command line 42 00:01:32.040 --> 00:01:34.080 just type idle. 43 00:01:34.080 --> 00:01:36.270 And just a note that we talked about this 44 00:01:36.270 --> 00:01:39.420 but Linux systems will usually also have 45 00:01:39.420 --> 00:01:42.840 Python 2.7 installed so and as you saw 46 00:01:42.840 --> 00:01:44.189 in the last video that that was the case 47 00:01:44.189 --> 00:01:46.500 with my Linux distribution so make sure 48 00:01:46.500 --> 00:01:47.850 you if you are running from the command 49 00:01:47.850 --> 00:01:50.250 line your type idle 3 to get the latest 50 00:01:50.250 --> 00:01:52.409 version at version 3 which we need and 51 00:01:52.409 --> 00:01:53.850 not just order which will be the older 52 00:01:53.850 --> 00:01:55.470 versions and you can see here 53 00:01:55.470 --> 00:01:57.180 confirmation Python three point five 54 00:01:57.180 --> 00:01:59.240 point two and that was the version that 55 00:01:59.240 --> 00:02:01.500 we will talked about in the last video. 56 00:02:01.500 --> 00:02:02.490 So I'm definitely running the right 57 00:02:02.490 --> 00:02:05.430 version. Alright so once idle is running, 58 00:02:05.430 --> 00:02:07.290 anything it type will be passed to the 59 00:02:07.290 --> 00:02:09.329 Python interpreter and the results 60 00:02:09.329 --> 00:02:12.209 displayed on the screen. Now ordinarily, 61 00:02:12.209 --> 00:02:14.099 in a program you need to use the print 62 00:02:14.099 --> 00:02:16.290 statement to display a result and you'll 63 00:02:16.290 --> 00:02:18.410 learn more about that in a later video, 64 00:02:18.410 --> 00:02:20.210 but you don't really need to do that in 65 00:02:20.210 --> 00:02:22.250 the idle, so I just come here and 66 00:02:22.250 --> 00:02:26.930 just type 2 plus 4 and press enter, 67 00:02:26.930 --> 00:02:28.490 you can see I immediately get the answer 68 00:02:28.490 --> 00:02:30.800 of 6 there. So what happened there was that 69 00:02:30.800 --> 00:02:32.780 let me type the command in the 70 00:02:32.780 --> 00:02:35.210 expression 2 plus 4 was passed to Python 71 00:02:35.210 --> 00:02:37.370 and Python came back with the result 6 72 00:02:37.370 --> 00:02:39.290 all right so I'm going to type in some 73 00:02:39.290 --> 00:02:41.630 code here now, now don't worry too much 74 00:02:41.630 --> 00:02:44.180 about exactly what this code means, 75 00:02:44.180 --> 00:02:45.530 you don't need to understand it at this 76 00:02:45.530 --> 00:02:47.570 stage, this is just really showing you 77 00:02:47.570 --> 00:02:49.970 how idle works and in later videos 78 00:02:49.970 --> 00:02:51.140 you're going to be learning the syntax 79 00:02:51.140 --> 00:02:54.170 of Python. This video is demonstrating 80 00:02:54.170 --> 00:02:56.450 idle, not explaining the Python language 81 00:02:56.450 --> 00:02:59.450 at this stage. Now in the course examples 82 00:02:59.450 --> 00:03:01.010 you'll often have to enter code blocks 83 00:03:01.010 --> 00:03:03.800 and that just blocks of code spanning 84 00:03:03.800 --> 00:03:06.440 several lines. Now idle knows when you're 85 00:03:06.440 --> 00:03:08.030 typing in such a block and what 86 00:03:08.030 --> 00:03:09.800 immediately executes anything until 87 00:03:09.800 --> 00:03:11.150 you've finished typing all the block 88 00:03:11.150 --> 00:03:13.250 code in and you'll know it's expecting 89 00:03:13.250 --> 00:03:14.990 more text because of Chevron's and 3 90 00:03:14.990 --> 00:03:16.340 greater than signs as you can see on the 91 00:03:16.340 --> 00:03:18.200 screen there weren't appear until you're 92 00:03:18.200 --> 00:03:21.140 finished. And to see that working I'm 93 00:03:21.140 --> 00:03:23.720 going to type the code now, for space i 94 00:03:23.720 --> 00:03:27.650 space in space range left parentheses 95 00:03:27.650 --> 00:03:30.650 the number 10 right parenthesis and a 96 00:03:30.650 --> 00:03:34.130 colon, once I press enter note bow 97 00:03:34.130 --> 00:03:36.590 chevron aren't appearing anymore and that's 98 00:03:36.590 --> 00:03:38.870 because idle was aware that this is a 99 00:03:38.870 --> 00:03:40.760 code block, so I could type in my code 100 00:03:40.760 --> 00:03:44.540 and hasn't executed anything unlike the 101 00:03:44.540 --> 00:03:46.640 previous example and wait until I've 102 00:03:46.640 --> 00:03:47.900 actually finished typing in the code 103 00:03:47.900 --> 00:03:50.570 block, there's a colon by the way when I 104 00:03:50.570 --> 00:03:53.450 typed in is very important and also the 105 00:03:53.450 --> 00:03:55.160 indentation is very important as well 106 00:03:55.160 --> 00:03:56.720 and we'll be talking more about that a 107 00:03:56.720 --> 00:03:58.459 little bit later, so I'm going to press 108 00:03:58.459 --> 00:04:01.190 enter again now and look at the cursor 109 00:04:01.190 --> 00:04:02.600 moves to the next line but it remains 110 00:04:02.600 --> 00:04:05.270 indented at the same level as cp of 111 00:04:05.270 --> 00:04:07.550 print on the previous line, this time I'm 112 00:04:07.550 --> 00:04:09.170 going to press the backspace button and 113 00:04:09.170 --> 00:04:11.330 notice that the cursor moves back to the 114 00:04:11.330 --> 00:04:13.400 left-hand side and this tells idle 115 00:04:13.400 --> 00:04:15.489 that you finished the code block and 116 00:04:15.489 --> 00:04:17.299 consequently when I press enter again, 117 00:04:17.299 --> 00:04:19.220 it's going to execute the code, so I'm 118 00:04:19.220 --> 00:04:22.220 going to do that now and you can see the 119 00:04:22.220 --> 00:04:24.290 code was executed and what this 120 00:04:24.290 --> 00:04:25.850 particular bit of code does is for each 121 00:04:25.850 --> 00:04:28.010 element in the range, it prints out the 122 00:04:28.010 --> 00:04:29.810 values, so consequently we get the value 123 00:04:29.810 --> 00:04:31.470 0 through 9 printed out in 124 00:04:31.470 --> 00:04:33.510 the screen. Again don't worry too much 125 00:04:33.510 --> 00:04:35.550 about understanding the code, you really 126 00:04:35.550 --> 00:04:36.780 don't need to understand the code at 127 00:04:36.780 --> 00:04:38.610 this stage, so you can see that I don't 128 00:04:38.610 --> 00:04:40.650 have some basic capabilities to run 129 00:04:40.650 --> 00:04:43.020 Python code and this is all very useful 130 00:04:43.020 --> 00:04:45.540 for checking simple instructions but 131 00:04:45.540 --> 00:04:47.190 editing what you've typed isn't very 132 00:04:47.190 --> 00:04:49.380 intuitive, so let's just say we wanted to 133 00:04:49.380 --> 00:04:51.870 change the number 10 to 11 in the code 134 00:04:51.870 --> 00:04:53.940 that we typed in, to do that we actually 135 00:04:53.940 --> 00:04:57.060 move our cursor up up to that line of 136 00:04:57.060 --> 00:04:59.990 code and then I press enter 137 00:04:59.990 --> 00:05:02.520 and notice that it's duplicated the code 138 00:05:02.520 --> 00:05:04.500 that was originally top here up on 139 00:05:04.500 --> 00:05:06.810 the screen and change the number 10 till 140 00:05:06.810 --> 00:05:08.160 eleven, now I can just move the cursor up 141 00:05:08.160 --> 00:05:12.030 and move it over and delete the zero and 142 00:05:12.030 --> 00:05:15.120 replace it with a 1 and to complete this, 143 00:05:15.120 --> 00:05:16.830 I need to go down with my arrow keys, 144 00:05:16.830 --> 00:05:19.650 press enter after the code indent and 145 00:05:19.650 --> 00:05:22.140 press backspace and there at the stage 146 00:05:22.140 --> 00:05:23.790 we're ready to execute the program again, 147 00:05:23.790 --> 00:05:26.250 I can press enter and you can see the 148 00:05:26.250 --> 00:05:28.410 code is now executed this time we've got 149 00:05:28.410 --> 00:05:30.419 an additional number that's been shown 150 00:05:30.419 --> 00:05:32.100 on the screen because we've increased 151 00:05:32.100 --> 00:05:34.470 the range by one, so that's one way of 152 00:05:34.470 --> 00:05:36.720 executing code and it can be very useful 153 00:05:36.720 --> 00:05:38.070 if you just want to check out a bit of 154 00:05:38.070 --> 00:05:40.320 code quickly, however you'll often want 155 00:05:40.320 --> 00:05:42.930 to save programs in a separate file, 156 00:05:42.930 --> 00:05:44.910 run them from there, so from the file menu 157 00:05:44.910 --> 00:05:46.770 I'm going to create a new file, 158 00:05:46.770 --> 00:05:51.090 click on file then new file and I'm 159 00:05:51.090 --> 00:05:54.300 going to type some code in here, 160 00:05:54.300 --> 00:05:58.010 I'm going to type print left parenthesis 161 00:05:58.010 --> 00:06:03.030 double quote hello world exclamation 162 00:06:03.030 --> 00:06:05.430 mark, another double quote then right 163 00:06:05.430 --> 00:06:07.160 parenthesis and then press enter. 164 00:06:07.160 --> 00:06:09.810 Now, to execute this program we just 165 00:06:09.810 --> 00:06:11.669 typed in, we can either come up here to 166 00:06:11.669 --> 00:06:14.400 the run menu and select run module or we 167 00:06:14.400 --> 00:06:16.740 can press f5, so I'm in the menu, 168 00:06:16.740 --> 00:06:17.940 I'm just going to select an option but 169 00:06:17.940 --> 00:06:20.760 either will work there because this is 170 00:06:20.760 --> 00:06:22.260 the first time that we're running this 171 00:06:22.260 --> 00:06:24.540 program and we selected a new file 172 00:06:24.540 --> 00:06:26.580 as with most programs the most word 173 00:06:26.580 --> 00:06:28.979 processors etc, it's asking us do we want 174 00:06:28.979 --> 00:06:30.990 to save the file? Well, it's actually saying 175 00:06:30.990 --> 00:06:32.729 we must that- the file must be saved 176 00:06:32.729 --> 00:06:34.530 before we can execute it, so I'm going to 177 00:06:34.530 --> 00:06:37.530 click on ok and what I'm going to do is 178 00:06:37.530 --> 00:06:40.820 put this on my desktop 179 00:06:40.820 --> 00:06:45.230 I'm gonna call this one HelloWorld, note that 180 00:06:45.230 --> 00:06:47.120 the bottom it says file dot py, so I'm 181 00:06:47.120 --> 00:06:49.150 just going to press I'll click on save 182 00:06:49.150 --> 00:06:51.260 and you can see how HelloWorld dot 183 00:06:51.260 --> 00:06:53.750 py's now saved, firstly allow a 184 00:06:53.750 --> 00:06:55.460 desktop which was the folder I selected, 185 00:06:55.460 --> 00:06:57.350 but secondly notice down the bottom here 186 00:06:57.350 --> 00:06:59.600 we've got this restart we want to path 187 00:06:59.600 --> 00:07:02.330 to the file that we just saved but also 188 00:07:02.330 --> 00:07:04.100 the output, so not only did it save the 189 00:07:04.100 --> 00:07:06.530 file it executed it, that's of course 190 00:07:06.530 --> 00:07:09.500 because we selected the run option. 191 00:07:09.500 --> 00:07:11.180 Now again, we'd recommend that you start 192 00:07:11.180 --> 00:07:13.970 using IntelliJ IDEA instead that's 193 00:07:13.970 --> 00:07:15.470 because idle is fairly basic 194 00:07:15.470 --> 00:07:17.750 it doesn't really provide any hint code 195 00:07:17.750 --> 00:07:19.460 checking or all the other features of a 196 00:07:19.460 --> 00:07:22.280 full IDE like IntelliJ does, but if you 197 00:07:22.280 --> 00:07:23.750 want to stick with idle though this 198 00:07:23.750 --> 00:07:25.160 brief introduction will got you 199 00:07:25.160 --> 00:07:28.520 started and the installing IntelliJ IDEA 200 00:07:28.520 --> 00:07:30.410 will be covered in the next video, but I 201 00:07:30.410 --> 00:07:31.550 want to give you a few reasons why you 202 00:07:31.550 --> 00:07:33.140 should consider using that rather than 203 00:07:33.140 --> 00:07:35.660 using idle, firstly code checking as you 204 00:07:35.660 --> 00:07:38.360 type, so IntelliJ IDES checks your 205 00:07:38.360 --> 00:07:41.030 code as you type it and the flags errors 206 00:07:41.030 --> 00:07:43.490 with a marker in the right margin it 207 00:07:43.490 --> 00:07:45.500 also suggests improvements in both the 208 00:07:45.500 --> 00:07:47.720 styling your code and the content and 209 00:07:47.720 --> 00:07:49.520 that's incredibly useful especially when 210 00:07:49.520 --> 00:07:51.460 starting out with a new language, 211 00:07:51.460 --> 00:07:53.570 auto-completion works across the various 212 00:07:53.570 --> 00:07:55.700 Python libraries to provide rapid 213 00:07:55.700 --> 00:07:56.990 selection of the methods and functions 214 00:07:56.990 --> 00:07:59.390 and hints on the system, idle on the 215 00:07:59.390 --> 00:08:00.590 other hand only copes with core 216 00:08:00.590 --> 00:08:03.830 functionality, so auto indenting it also 217 00:08:03.830 --> 00:08:06.500 allows editing of xml and text files so 218 00:08:06.500 --> 00:08:07.790 the same tool can be used to examine 219 00:08:07.790 --> 00:08:10.250 data for some excellent refactoring 220 00:08:10.250 --> 00:08:12.980 tools integrated python debugger support 221 00:08:12.980 --> 00:08:16.010 for django and google app engine projects, 222 00:08:16.010 --> 00:08:18.170 it also supports many languages in 223 00:08:18.170 --> 00:08:20.570 addition to python such as java, scaler 224 00:08:20.570 --> 00:08:23.510 pearl and groovy and many frameworks so 225 00:08:23.510 --> 00:08:25.100 they really only need to learn one IDE 226 00:08:25.100 --> 00:08:27.380 for all development. And also keep in 227 00:08:27.380 --> 00:08:29.780 mind google's Android studio which is 228 00:08:29.780 --> 00:08:30.860 a tool for Android app development 229 00:08:30.860 --> 00:08:33.380 that's basically IntelliJ IDEA under the 230 00:08:33.380 --> 00:08:35.450 hood. So now I'm going to be using 231 00:08:35.450 --> 00:08:37.490 IntelliJ IDEA in this course, you can 232 00:08:37.490 --> 00:08:39.620 still use your favorite IDE instead 233 00:08:39.620 --> 00:08:41.510 if you prefer so if you're already using 234 00:08:41.510 --> 00:08:43.640 something like eclipse or pycharm or 235 00:08:43.640 --> 00:08:46.220 one of the many other Python IDE then by 236 00:08:46.220 --> 00:08:48.920 all means carry on using them. Alright so 237 00:08:48.920 --> 00:08:50.990 I'm going to finish this video now with 238 00:08:50.990 --> 00:08:53.270 a short program that we've created just 239 00:08:53.270 --> 00:08:54.529 to demonstrate some of the 240 00:08:54.529 --> 00:08:56.629 power of the Python language. So the 241 00:08:56.629 --> 00:08:58.579 program's going to collect exchange rate 242 00:08:58.579 --> 00:09:00.740 data from the internet and produce a 243 00:09:00.740 --> 00:09:02.389 graph showing three currencies for the 244 00:09:02.389 --> 00:09:05.180 last 12 months now the complete programs 245 00:09:05.180 --> 00:09:07.639 less than 100 lines of code, I think 246 00:09:07.639 --> 00:09:09.100 that's pretty impressive given that it's 247 00:09:09.100 --> 00:09:12.230 doing that all in real time and clicking 248 00:09:12.230 --> 00:09:14.569 that real data from the internet. 249 00:09:14.569 --> 00:09:16.639 Now generally I really strongly recommend 250 00:09:16.639 --> 00:09:18.439 that you type in the code when watching 251 00:09:18.439 --> 00:09:20.689 the videos in this course and personally 252 00:09:20.689 --> 00:09:22.850 I can't stress that enough typing in 253 00:09:22.850 --> 00:09:24.410 code rather than just watching me type 254 00:09:24.410 --> 00:09:26.779 it really does help you learn faster and 255 00:09:26.779 --> 00:09:29.240 consolidate what you're doing and that 256 00:09:29.240 --> 00:09:31.279 really is important and without going 257 00:09:31.279 --> 00:09:33.439 into a lot of Education Theory, 258 00:09:33.439 --> 00:09:35.449 you retain about 80% of the things you do 259 00:09:35.449 --> 00:09:38.180 compared to about 30% of things you just 260 00:09:38.180 --> 00:09:40.519 see, and if that doesn't persuade you I'm 261 00:09:40.519 --> 00:09:42.980 going to add that myself and Jean Paul 262 00:09:42.980 --> 00:09:44.480 learn by typing in code, 263 00:09:44.480 --> 00:09:46.430 the reason was starting out we didn't 264 00:09:46.430 --> 00:09:49.490 have the interne, so to learn stuff we 265 00:09:49.490 --> 00:09:51.199 need to copy code from magazines and 266 00:09:51.199 --> 00:09:53.600 books so the act of typing it in makes 267 00:09:53.600 --> 00:09:55.129 you focus on every word that you're 268 00:09:55.129 --> 00:09:57.350 typing and correcting the typing errors 269 00:09:57.350 --> 00:09:58.699 afterwards really does help you learn 270 00:09:58.699 --> 00:10:00.139 what's going on. 271 00:10:00.139 --> 00:10:02.389 And I'd also recommend that you watch 272 00:10:02.389 --> 00:10:04.250 each video again after you've typed the 273 00:10:04.250 --> 00:10:06.680 code, so you can focus on the explanation 274 00:10:06.680 --> 00:10:09.470 of what that code is doing. With that 275 00:10:09.470 --> 00:10:11.209 said, this next bits an exception to that 276 00:10:11.209 --> 00:10:13.279 and that's because the code I'm about to 277 00:10:13.279 --> 00:10:15.649 say is quite complex but I would produce 278 00:10:15.649 --> 00:10:17.300 this program to show you the power of 279 00:10:17.300 --> 00:10:19.309 Python and there's a lot of things in 280 00:10:19.309 --> 00:10:20.720 the code that just won't make sense at 281 00:10:20.720 --> 00:10:21.980 the moment at this stage of the course. 282 00:10:21.980 --> 00:10:24.050 Now this program uses functions 283 00:10:24.050 --> 00:10:26.420 generators external modules and things 284 00:10:26.420 --> 00:10:28.699 like lists and tuples then by the time 285 00:10:28.699 --> 00:10:30.559 you finish this course, you'll understand 286 00:10:30.559 --> 00:10:32.149 what all those things are and more 287 00:10:32.149 --> 00:10:33.800 importantly, how to use them in your own 288 00:10:33.800 --> 00:10:36.050 programs and in fact you'll understand a 289 00:10:36.050 --> 00:10:38.720 lot more than that. But now though, relax 290 00:10:38.720 --> 00:10:40.250 and run the program they're going to 291 00:10:40.250 --> 00:10:43.020 feel for what you can do with Python. 292 00:10:43.020 --> 00:10:44.640 Alright, so what we need to do is open 293 00:10:44.640 --> 00:10:46.890 a browser we need to download this file, 294 00:10:46.890 --> 00:10:48.840 so we can actually run it so I'm 295 00:10:48.840 --> 00:10:53.040 just opening my Firefox and I'm going to 296 00:10:53.040 --> 00:10:59.280 go to learn programming dot academy forward slash py 297 00:10:59.280 --> 00:11:01.800 download or one word in lower case dot 298 00:11:01.800 --> 00:11:05.670 html press enter that brings up a very 299 00:11:05.670 --> 00:11:07.050 simple file there, we can right click 300 00:11:07.050 --> 00:11:12.240 this, click on Save Link As and I'm going 301 00:11:12.240 --> 00:11:14.310 to save that on my desktop. You can see 302 00:11:14.310 --> 00:11:17.040 the file in there, exchange rate py, click on 303 00:11:17.040 --> 00:11:21.030 save. You can see that it's already 304 00:11:21.030 --> 00:11:23.370 downloaded, it is a very small file so 305 00:11:23.370 --> 00:11:24.930 I'm going to click on over here to close 306 00:11:24.930 --> 00:11:27.300 the browser down and you can see we're 307 00:11:27.300 --> 00:11:28.950 going to exchange rate to py showing the 308 00:11:28.950 --> 00:11:32.010 other screen. Alright so back in idle for 309 00:11:32.010 --> 00:11:33.930 the Python 3.5.2 shell, 310 00:11:33.930 --> 00:11:37.200 it's called on Linux we're going to open, 311 00:11:37.200 --> 00:11:39.540 I'm going to go to the desktop I'm going to 312 00:11:39.540 --> 00:11:41.460 open or select the exchange rate to py 313 00:11:41.460 --> 00:11:47.070 and here's the actual code for that, 314 00:11:47.070 --> 00:11:48.450 so to expand it out of the list you can see 315 00:11:48.450 --> 00:11:51.150 there and you can see it probably looks 316 00:11:51.150 --> 00:11:53.010 very complicated to you if you 317 00:11:53.010 --> 00:11:54.750 haven't seen program code before, 318 00:11:54.750 --> 00:11:56.760 haven't seen Python. As I've said 319 00:11:56.760 --> 00:11:58.470 previously in this video, you will 320 00:11:58.470 --> 00:12:00.090 understand all of this and what's going 321 00:12:00.090 --> 00:12:01.770 and what it's actually doing as you work 322 00:12:01.770 --> 00:12:04.140 through the course, for now though run 323 00:12:04.140 --> 00:12:06.630 the program and again you can press f5 324 00:12:06.630 --> 00:12:07.920 or you can come up here to the run menu 325 00:12:07.920 --> 00:12:10.440 and click on run module so I'm going to 326 00:12:10.440 --> 00:12:14.490 click on select an option now and that's 327 00:12:14.490 --> 00:12:16.800 now running the program and that's now 328 00:12:16.800 --> 00:12:18.660 downloading the current exchange rates 329 00:12:18.660 --> 00:12:21.240 in real time and drawing up a chart. 330 00:12:21.240 --> 00:12:23.670 So there you go, you can see now that after 331 00:12:23.670 --> 00:12:25.380 a short delay well then that was what 332 00:12:25.380 --> 00:12:26.460 the data was getting fetched from 333 00:12:26.460 --> 00:12:28.170 internet, we're now seeing a chart on 334 00:12:28.170 --> 00:12:29.610 screen showing exchange rate for 335 00:12:29.610 --> 00:12:31.590 Australian dollars Great Britain pairs 336 00:12:31.590 --> 00:12:34.590 of the Euro against the US dollar, 337 00:12:34.590 --> 00:12:35.790 and the program's actually displaying the 338 00:12:35.790 --> 00:12:37.370 data for the last twelve months and 339 00:12:37.370 --> 00:12:40.590 you're getting different month showing 340 00:12:40.590 --> 00:12:43.230 on this x-axis over here and obviously 341 00:12:43.230 --> 00:12:45.810 I'm running this in August 2017, as I 342 00:12:45.810 --> 00:12:48.480 record this video, so the last date in 343 00:12:48.480 --> 00:12:50.070 will be August but depending when you're 344 00:12:50.070 --> 00:12:51.060 running this you'll see that this will 345 00:12:51.060 --> 00:12:53.430 be updated to what is the current date 346 00:12:53.430 --> 00:12:55.230 on your computer. 347 00:12:55.230 --> 00:12:56.400 And personally I think that's pretty 348 00:12:56.400 --> 00:12:59.840 impressive for any 95 lines of code, 349 00:12:59.840 --> 00:13:02.100 and again I'm not going to explain how it 350 00:13:02.100 --> 00:13:04.020 works at the moment because it does use 351 00:13:04.020 --> 00:13:06.540 a lot of Python features but everything 352 00:13:06.540 --> 00:13:07.980 that it does will be explained in the 353 00:13:07.980 --> 00:13:09.810 course, so it will certainly all make 354 00:13:09.810 --> 00:13:12.440 sense as you work through the course, 355 00:13:12.440 --> 00:13:15.090 there's some of the coding again so 356 00:13:15.090 --> 00:13:16.170 basically going through this course 357 00:13:16.170 --> 00:13:17.580 you'll be understanding pretty well 358 00:13:17.580 --> 00:13:20.580 everything in here, what it means and you 359 00:13:20.580 --> 00:13:22.170 can use concepts like this in your own 360 00:13:22.170 --> 00:13:24.300 programs. Alright so that's it, that's a 361 00:13:24.300 --> 00:13:26.610 brief tour of idle. In the next video, 362 00:13:26.610 --> 00:13:27.990 we're going to go ahead and install and 363 00:13:27.990 --> 00:13:29.780 configure the IDE that I've talked about 364 00:13:29.780 --> 00:13:33.090 IntelliJ IDEA and also talked a little 365 00:13:33.090 --> 00:13:35.370 bit about pycharm instead which looks 366 00:13:35.370 --> 00:13:38.100 pretty much identical to IntelliJ IDEA, 367 00:13:38.100 --> 00:13:40.350 but it only supports Python programming. 368 00:13:40.350 --> 00:13:42.120 As I said that, if you're already using 369 00:13:42.120 --> 00:13:44.220 an IDE that supports Python and you're 370 00:13:44.220 --> 00:13:45.510 happy with that, you can actually 371 00:13:45.510 --> 00:13:47.010 continue to use that for the entire 372 00:13:47.010 --> 00:13:49.230 course. Now obviously, if you do that your 373 00:13:49.230 --> 00:13:50.370 screens will look different to the 374 00:13:50.370 --> 00:13:52.740 videos but the code that you type in was 375 00:13:52.740 --> 00:13:54.240 still function and work exactly the same. 376 00:13:54.240 --> 00:13:58.910 Alright, so I'll see you in the next video.