WEBVTT 1 00:00:04.730 --> 00:00:06.769 In the previous video, we installed 2 00:00:06.769 --> 00:00:10.309 Python 3.6 onto this Mac computer. 3 00:00:10.309 --> 00:00:11.660 Now we're going to have a quick look at idle. 4 00:00:11.660 --> 00:00:14.030 Now when developing software in any 5 00:00:14.030 --> 00:00:16.040 programming language and integrated 6 00:00:16.040 --> 00:00:18.890 development environment or IDE makes a 7 00:00:18.890 --> 00:00:20.509 lot a lot easier for developers and 8 00:00:20.509 --> 00:00:22.369 that's because it allows you to enter, 9 00:00:22.369 --> 00:00:24.980 compile and run your programs without 10 00:00:24.980 --> 00:00:27.610 having to actually leave the editor and 11 00:00:27.610 --> 00:00:29.599 basically you can avoid using the 12 00:00:29.599 --> 00:00:31.250 command-line from a lot of programming 13 00:00:31.250 --> 00:00:32.239 and it just makes things a lot easier. 14 00:00:32.239 --> 00:00:35.300 Now Python provides a very simple IDE 15 00:00:35.300 --> 00:00:37.610 called idle, which we installed in the 16 00:00:37.610 --> 00:00:39.860 previous video. Now the name idle was a 17 00:00:39.860 --> 00:00:41.960 homage to Eric Idle one of the members 18 00:00:41.960 --> 00:00:44.180 of the comedy group Monty Python. 19 00:00:44.180 --> 00:00:46.220 Now idle wood interfaces directly with the 20 00:00:46.220 --> 00:00:48.770 Python interpreter. Now for a number of 21 00:00:48.770 --> 00:00:50.750 reasons that will become apparent as we 22 00:00:50.750 --> 00:00:52.790 progress through the course, we suggest 23 00:00:52.790 --> 00:00:54.320 using IntelliJ IDEA 24 00:00:54.320 --> 00:00:57.770 or pycharm instead of idle and in fact 25 00:00:57.770 --> 00:00:58.910 in the next video, I'm going to be 26 00:00:58.910 --> 00:01:00.079 showing you how to go about installing 27 00:01:00.079 --> 00:01:02.540 it but if you prefer to stick with idle 28 00:01:02.540 --> 00:01:04.159 for any reason or if you have to access 29 00:01:04.159 --> 00:01:06.860 idle it can sometimes be very useful. 30 00:01:06.860 --> 00:01:08.810 So consequently in this video, we're going 31 00:01:08.810 --> 00:01:10.639 to show you how to use the basics of 32 00:01:10.639 --> 00:01:12.920 idle. Now this probably going to assume 33 00:01:12.920 --> 00:01:15.049 that you've installed Python 3.6 as 34 00:01:15.049 --> 00:01:17.450 shown in the last video, so you want to 35 00:01:17.450 --> 00:01:20.719 start idle 3 either by the command space 36 00:01:20.719 --> 00:01:23.450 trick and type of idle, you can also type 37 00:01:23.450 --> 00:01:24.850 idle 3 the terminal window. 38 00:01:24.850 --> 00:01:26.689 Alternatively you can open up your 39 00:01:26.689 --> 00:01:29.060 applications folder as I've done here 40 00:01:29.060 --> 00:01:30.950 and I can go into the python sub folder 41 00:01:30.950 --> 00:01:32.539 that was created with the install video 42 00:01:32.539 --> 00:01:34.219 and I can just double click idle that 43 00:01:34.219 --> 00:01:36.619 way, either way you want to start up idle 44 00:01:36.619 --> 00:01:38.179 and I'm just going to bring this up, 45 00:01:38.179 --> 00:01:40.009 centered a little bit and just size it 46 00:01:40.009 --> 00:01:42.079 up, so we can see what we're doing. 47 00:01:42.079 --> 00:01:43.789 Now note that two Mac systems also have 48 00:01:43.789 --> 00:01:46.009 Python 2.7 installed and I talked about 49 00:01:46.009 --> 00:01:47.869 that previously so you do want to make 50 00:01:47.869 --> 00:01:49.759 sure that you're running idle three and 51 00:01:49.759 --> 00:01:51.740 not idle and as you can see now that 52 00:01:51.740 --> 00:01:53.810 I've started I've idle has Python three 53 00:01:53.810 --> 00:01:55.429 point six point two, so I know that I'm 54 00:01:55.429 --> 00:01:57.319 running the right version. Now the other 55 00:01:57.319 --> 00:01:58.849 thing that might happen is you might get 56 00:01:58.849 --> 00:02:01.279 a message saying warning the version of 57 00:02:01.279 --> 00:02:05.450 tcl/tk in use may be unstable and you 58 00:02:05.450 --> 00:02:06.740 can see that I've actually got this here 59 00:02:06.740 --> 00:02:10.190 the version of tcl/tk 8.59 in use may be 60 00:02:10.190 --> 00:02:12.290 unstable. If your version is showing 61 00:02:12.290 --> 00:02:13.879 eight point five point nine as mine is 62 00:02:13.879 --> 00:02:15.769 currently showing, you can ignore that 63 00:02:15.769 --> 00:02:18.440 warning and the site here linked to that 64 00:02:18.440 --> 00:02:21.620 message suggests 8.59 as an alternative 65 00:02:21.620 --> 00:02:23.450 and then in flags eight point five point 66 00:02:23.450 --> 00:02:25.700 seven, it's not recommended so in other 67 00:02:25.700 --> 00:02:27.560 words, you can just ignore that and what 68 00:02:27.560 --> 00:02:30.200 we can do is just press enter on our 69 00:02:30.200 --> 00:02:32.450 keyboard, we get the idle prompt to 70 00:02:32.450 --> 00:02:33.860 appear now and we can actually use it as 71 00:02:33.860 --> 00:02:35.990 per normal and I don't have a Mac that shows 72 00:02:35.990 --> 00:02:37.940 older version, but if your 73 00:02:37.940 --> 00:02:39.650 message does indicate you have tcl 74 00:02:39.650 --> 00:02:41.690 version eight point five point seven 75 00:02:41.690 --> 00:02:44.030 then visit that link to download one of 76 00:02:44.030 --> 00:02:45.700 the stable versions that they suggest. 77 00:02:45.700 --> 00:02:48.050 Alright, so once I idle ws running anything 78 00:02:48.050 --> 00:02:50.120 you type will be passed to the Python 79 00:02:50.120 --> 00:02:52.490 interpreter and the results displayed on 80 00:02:52.490 --> 00:02:55.070 the screen. Now, ordinarily in a program 81 00:02:55.070 --> 00:02:56.840 you need to use the print statement to 82 00:02:56.840 --> 00:02:58.610 display a result and you'll learn more 83 00:02:58.610 --> 00:03:00.170 about that in later videos in this 84 00:03:00.170 --> 00:03:02.060 course, but you don't know if you need to 85 00:03:02.060 --> 00:03:03.980 do that in the idle shell and to show 86 00:03:03.980 --> 00:03:06.080 you that we can just click into here we 87 00:03:06.080 --> 00:03:09.080 can type two plus four and press 88 00:03:09.080 --> 00:03:11.390 enter now, you can see we immediately get 89 00:03:11.390 --> 00:03:13.790 the answer of six. Alright, so I'm going 90 00:03:13.790 --> 00:03:16.010 to type in a bit of code here now. 91 00:03:16.010 --> 00:03:17.810 Now it's important to not worry too much 92 00:03:17.810 --> 00:03:20.270 about exactly what this code means, 93 00:03:20.270 --> 00:03:21.860 you really don't need to understand it at 94 00:03:21.860 --> 00:03:23.900 this stage and that's because I'm just 95 00:03:23.900 --> 00:03:26.330 showing you how idle works in the later 96 00:03:26.330 --> 00:03:28.490 videos, if you're learning the syntax of 97 00:03:28.490 --> 00:03:31.010 Python, this video is demonstrating idle 98 00:03:31.010 --> 00:03:33.020 not explaining the Python language at 99 00:03:33.020 --> 00:03:35.840 this stage. Now in the course examples, 100 00:03:35.840 --> 00:03:38.060 you'll often have to enter code blocks 101 00:03:38.060 --> 00:03:40.550 and that blocks of code spanning several 102 00:03:40.550 --> 00:03:43.130 lines. Now idle knows when you're going 103 00:03:43.130 --> 00:03:44.720 to type such a block and won't 104 00:03:44.720 --> 00:03:46.610 immediately execute anything until you 105 00:03:46.610 --> 00:03:48.709 finish the block and you know generally 106 00:03:48.709 --> 00:03:50.060 when it's expecting more text because 107 00:03:50.060 --> 00:03:51.320 the chevrons appearing you can see 108 00:03:51.320 --> 00:03:52.820 that's the case right now under the six 109 00:03:52.820 --> 00:03:54.320 and three chevrons or three greater than 110 00:03:54.320 --> 00:03:57.709 signs, so python clearly knows that you 111 00:03:57.709 --> 00:03:59.360 finish but if we start typing some code 112 00:03:59.360 --> 00:04:04.959 enough for space i space in space range 113 00:04:04.959 --> 00:04:08.720 parentheses ten closing parentheses 114 00:04:08.720 --> 00:04:10.010 they're going to press a colon or type 115 00:04:10.010 --> 00:04:12.800 of colon now and press enter, this is 116 00:04:12.800 --> 00:04:14.240 what I mean about idle knowing that 117 00:04:14.240 --> 00:04:16.130 you've got more text to type in now, 118 00:04:16.130 --> 00:04:18.049 because the chevron's aren't showing and 119 00:04:18.049 --> 00:04:20.989 the codes also been indented and 120 00:04:20.989 --> 00:04:22.460 incident in the colon at the end of 121 00:04:22.460 --> 00:04:24.290 the line is very important and that's 122 00:04:24.290 --> 00:04:26.360 the reason that tells python in this 123 00:04:26.360 --> 00:04:28.370 case, that two more information is 124 00:04:28.370 --> 00:04:30.090 expected in the code block. 125 00:04:30.090 --> 00:04:31.639 So remember then I'll type in print 126 00:04:31.639 --> 00:04:33.960 left parenthesis, i right 127 00:04:33.960 --> 00:04:35.940 parentheses, I'm going to press enter 128 00:04:35.940 --> 00:04:38.760 again, but this time we've now finished a 129 00:04:38.760 --> 00:04:40.590 code, so I'm now going to press the 130 00:04:40.590 --> 00:04:43.260 backspace button. Once I do that, we go 131 00:04:43.260 --> 00:04:45.419 back to the left hand side there that 132 00:04:45.419 --> 00:04:46.950 tells idle that we've finished the code 133 00:04:46.950 --> 00:04:48.750 blocks and then when we press enter 134 00:04:48.750 --> 00:04:51.360 again, it's going to actually execute the 135 00:04:51.360 --> 00:04:54.060 cod, so I'm going to do that and you can 136 00:04:54.060 --> 00:04:56.600 see the code got executed on the screen. 137 00:04:56.600 --> 00:04:59.700 So what this does is for each 138 00:04:59.700 --> 00:05:01.260 element in the range it's printing out 139 00:05:01.260 --> 00:05:02.760 the value, so in other words you can see 140 00:05:02.760 --> 00:05:03.990 on the screen there we've got the values 141 00:05:03.990 --> 00:05:07.560 0 through 9 printed out. Now again don't 142 00:05:07.560 --> 00:05:09.300 worry too much about understanding the 143 00:05:09.300 --> 00:05:10.889 code, you don't need to understand the 144 00:05:10.889 --> 00:05:13.470 code at this stage what you can see is 145 00:05:13.470 --> 00:05:15.479 that idle has some basic capabilities to 146 00:05:15.479 --> 00:05:17.880 run Python code then this is not very 147 00:05:17.880 --> 00:05:19.680 useful for checking simple instructions, 148 00:05:19.680 --> 00:05:21.900 but editing what you've typed isn't very 149 00:05:21.900 --> 00:05:24.780 intuitive in idle, so let's just say we 150 00:05:24.780 --> 00:05:26.850 wanted to change the number 10 to 11. 151 00:05:26.850 --> 00:05:28.560 What we can do is we can move our cursor 152 00:05:28.560 --> 00:05:32.370 up to that line, up here and we can press 153 00:05:32.370 --> 00:05:35.010 enter and that copies the line down 154 00:05:35.010 --> 00:05:36.960 below as you can see and then we can 155 00:05:36.960 --> 00:05:38.550 actually then move the cursor up and 156 00:05:38.550 --> 00:05:42.180 move it over, delete the 0 and make it a 1, 157 00:05:42.180 --> 00:05:44.400 and if I go down to the second line with 158 00:05:44.400 --> 00:05:46.080 a down arrow key press enter and press 159 00:05:46.080 --> 00:05:49.169 backspace, we're back up the stage now 160 00:05:49.169 --> 00:05:50.580 where we can execute the program and I 161 00:05:50.580 --> 00:05:53.580 can press enter again now and you can 162 00:05:53.580 --> 00:05:55.590 see that's now went through and printed 163 00:05:55.590 --> 00:05:56.820 out the numbers this time from 0 through 164 00:05:56.820 --> 00:05:58.889 10 and that's because we change the 165 00:05:58.889 --> 00:06:01.830 number 10 to a number 11. So that's one 166 00:06:01.830 --> 00:06:03.600 way of executing code in idle and it can 167 00:06:03.600 --> 00:06:05.010 be useful if you just want to check out 168 00:06:05.010 --> 00:06:07.919 a bit of code. However you often want to 169 00:06:07.919 --> 00:06:10.470 save programs in a separate file and run 170 00:06:10.470 --> 00:06:12.570 them from there, so from the file menu 171 00:06:12.570 --> 00:06:17.490 click on new file, I'll just bring this over 172 00:06:17.490 --> 00:06:19.860 and let's just type into that new file 173 00:06:19.860 --> 00:06:23.570 print left parenthesis double quote 174 00:06:23.570 --> 00:06:28.680 hello world then another double quote 175 00:06:28.680 --> 00:06:30.240 and then a right parenthesis then press 176 00:06:30.240 --> 00:06:32.760 enter to go to the second line, so we 177 00:06:32.760 --> 00:06:34.289 can now run what we've typed in by 178 00:06:34.289 --> 00:06:36.840 coming up here to the run window and 179 00:06:36.840 --> 00:06:39.180 clicking on run module or selecting run 180 00:06:39.180 --> 00:06:41.010 module, alternatively we can just press 181 00:06:41.010 --> 00:06:43.440 the f5 button, so I'll do that now press f5 182 00:06:43.440 --> 00:06:46.380 in my case it says source code must 183 00:06:46.380 --> 00:06:48.000 be saved, ok to save I'm going to click 184 00:06:48.000 --> 00:06:51.390 on ok to save it and what I'm going to 185 00:06:51.390 --> 00:06:54.840 do save this to my desktop and I'm just 186 00:06:54.840 --> 00:07:00.000 going to call this one hello world so 187 00:07:00.000 --> 00:07:01.410 you can see what happened firstly it 188 00:07:01.410 --> 00:07:03.390 actually saved it and you can see the 189 00:07:03.390 --> 00:07:05.580 file down on my desktop, but secondly you 190 00:07:05.580 --> 00:07:07.320 can see that it executed the program as 191 00:07:07.320 --> 00:07:08.850 well I'm getting the hello world output 192 00:07:08.850 --> 00:07:10.340 on the bottom of the screen. 193 00:07:10.340 --> 00:07:12.690 Now again, I would recommend that you use 194 00:07:12.690 --> 00:07:15.480 IntelliJ IDEA instead of idle 195 00:07:15.480 --> 00:07:17.370 because idle is really basic and doesn't 196 00:07:17.370 --> 00:07:19.920 provide any hints, code checking or all 197 00:07:19.920 --> 00:07:21.720 the other great features of a full IDE 198 00:07:21.720 --> 00:07:23.790 like IntelliJ, but if you want to stick 199 00:07:23.790 --> 00:07:25.710 with idle though, this brief introduction 200 00:07:25.710 --> 00:07:27.540 should have got you started. 201 00:07:27.540 --> 00:07:29.460 Now installing IntelliJ IDEA that will be 202 00:07:29.460 --> 00:07:31.920 covered in the next video, so I just want 203 00:07:31.920 --> 00:07:33.030 to give you a few reasons why you're 204 00:07:33.030 --> 00:07:34.680 consider using that rather than using 205 00:07:34.680 --> 00:07:37.220 idle firstly code checking as you type 206 00:07:37.220 --> 00:07:39.450 IntelliJ IDEA checks the code as you 207 00:07:39.450 --> 00:07:42.030 type it and actually flags errors with a 208 00:07:42.030 --> 00:07:44.460 marker in the right margin and it also 209 00:07:44.460 --> 00:07:46.680 suggests improvements in both the style 210 00:07:46.680 --> 00:07:49.169 of your code as well as the content. 211 00:07:49.169 --> 00:07:51.150 Now this is incredibly useful as you find 212 00:07:51.150 --> 00:07:52.919 especially when starting out with the 213 00:07:52.919 --> 00:07:55.800 new language, it also has auto completion 214 00:07:55.800 --> 00:07:57.720 which works across the there is Python 215 00:07:57.720 --> 00:08:00.390 libraries to provide rapid selection of 216 00:08:00.390 --> 00:08:02.460 the methods or functions and hints on 217 00:08:02.460 --> 00:08:05.010 the syntax and idle unfortunately only 218 00:08:05.010 --> 00:08:07.100 copes with the core functionality 219 00:08:07.100 --> 00:08:09.690 IntelliJ IDEA is also got auto indenting, 220 00:08:09.690 --> 00:08:12.240 it also allows editing of xml and text 221 00:08:12.240 --> 00:08:14.790 files, so the same tool can be used to 222 00:08:14.790 --> 00:08:17.430 extend to examine data, it's got 223 00:08:17.430 --> 00:08:19.650 excellent refactoring tools, it's got an 224 00:08:19.650 --> 00:08:22.500 integrated part of debugger, support for 225 00:08:22.500 --> 00:08:24.390 the django and google app engine 226 00:08:24.390 --> 00:08:27.360 projects it also supports many languages 227 00:08:27.360 --> 00:08:29.730 in addition to python such as java 228 00:08:29.730 --> 00:08:32.490 scala, perl, groovy as well as many 229 00:08:32.490 --> 00:08:34.380 frameworks, so that you only really need 230 00:08:34.380 --> 00:08:37.250 to learn one IDE for all development and 231 00:08:37.250 --> 00:08:39.510 also keep in mind that google's android 232 00:08:39.510 --> 00:08:42.150 studio which is for android development 233 00:08:42.150 --> 00:08:44.490 is basically IntelliJ IDEA under the 234 00:08:44.490 --> 00:08:46.470 hood. So although I'm going to be using 235 00:08:46.470 --> 00:08:49.170 IntelliJ IDEA in this course, you can use 236 00:08:49.170 --> 00:08:51.420 your favorite IDE instead if you prefer. 237 00:08:51.420 --> 00:08:53.190 So if you're already using something 238 00:08:53.190 --> 00:08:55.110 like eclipse or pycharm or one of the 239 00:08:55.110 --> 00:08:57.020 many other Python IDE's then by 240 00:08:57.020 --> 00:09:00.290 all means carry on using them. Alright so 241 00:09:00.290 --> 00:09:01.610 what I'm going to do now is finish by 242 00:09:01.610 --> 00:09:03.290 running a short program that we've 243 00:09:03.290 --> 00:09:05.630 created to demonstrate some of the power 244 00:09:05.630 --> 00:09:08.000 of the Python language, so this program 245 00:09:08.000 --> 00:09:10.700 is going to collect real-time exchange 246 00:09:10.700 --> 00:09:12.860 rate data from the internet and then 247 00:09:12.860 --> 00:09:14.660 produce a graph showing three currencies 248 00:09:14.660 --> 00:09:17.360 for the last 12 months. Now the complete 249 00:09:17.360 --> 00:09:19.100 programs less than 100 lines of code 250 00:09:19.100 --> 00:09:21.080 which i think is pretty impressive for 251 00:09:21.080 --> 00:09:23.210 what it's doing. Now I strongly recommend 252 00:09:23.210 --> 00:09:24.950 that you type in the code while watching 253 00:09:24.950 --> 00:09:27.050 videos in this course, I can't really 254 00:09:27.050 --> 00:09:29.360 stress that enough, typing in code rather 255 00:09:29.360 --> 00:09:31.310 than just watching me type it really 256 00:09:31.310 --> 00:09:33.260 does help you to learn faster and 257 00:09:33.260 --> 00:09:35.660 consolidate what you're doing and that 258 00:09:35.660 --> 00:09:37.760 really is important and without going 259 00:09:37.760 --> 00:09:39.860 into a lot of Education Theory, you'll 260 00:09:39.860 --> 00:09:41.660 retain about 80% of things you do 261 00:09:41.660 --> 00:09:43.970 compared to about 30% of the things you 262 00:09:43.970 --> 00:09:46.400 just see, if that doesn't persuade you 263 00:09:46.400 --> 00:09:48.620 I'll actually add that we learned by 264 00:09:48.620 --> 00:09:51.650 typing in code, back when Jean Paul and 265 00:09:51.650 --> 00:09:53.750 myself was starting up programming we 266 00:09:53.750 --> 00:09:55.550 didn't have the internet back then so we 267 00:09:55.550 --> 00:09:57.320 just copied the code from magazines and 268 00:09:57.320 --> 00:09:59.960 books and the act of typing in really 269 00:09:59.960 --> 00:10:01.490 makes you focus on each word that you're 270 00:10:01.490 --> 00:10:03.350 typing and correcting the typing errors 271 00:10:03.350 --> 00:10:05.270 afterwards really does help you learn 272 00:10:05.270 --> 00:10:08.300 what's going on and it also recommended 273 00:10:08.300 --> 00:10:10.100 you watch each video again after you've 274 00:10:10.100 --> 00:10:12.200 typed the code, so you can focus on the 275 00:10:12.200 --> 00:10:15.770 explanation of what it's doing but with 276 00:10:15.770 --> 00:10:17.630 that said this next bits an exception to 277 00:10:17.630 --> 00:10:19.400 that and that's because the code that 278 00:10:19.400 --> 00:10:21.110 I'm about to show you is quite complex. 279 00:10:21.110 --> 00:10:23.210 Now we produced this program to show you 280 00:10:23.210 --> 00:10:25.370 the power of Python and there's a lot of 281 00:10:25.370 --> 00:10:26.930 things in the code that won't make sense 282 00:10:26.930 --> 00:10:29.540 at this moment and the program uses 283 00:10:29.540 --> 00:10:32.030 functions, generators external modules 284 00:10:32.030 --> 00:10:34.580 and things like lists and tuples, by the 285 00:10:34.580 --> 00:10:35.930 time you finish the course, you'll 286 00:10:35.930 --> 00:10:37.700 understand what all those things are and 287 00:10:37.700 --> 00:10:39.410 more importantly how to use them in your 288 00:10:39.410 --> 00:10:41.630 own programs, in fact you'll understand a 289 00:10:41.630 --> 00:10:44.510 lot more than that, but now though relax and run 290 00:10:44.510 --> 00:10:45.710 the program they're going to fuel for 291 00:10:45.710 --> 00:10:48.380 what you can do with Python. Now I'm 292 00:10:48.380 --> 00:10:49.460 going to actually show you how to 293 00:10:49.460 --> 00:10:51.080 download this program from the internet 294 00:10:51.080 --> 00:10:56.660 so we're going to open up a browser even 295 00:10:56.660 --> 00:11:02.569 get to learn programming dot academy forward slash 296 00:11:02.569 --> 00:11:06.079 py download or one words of html learn 297 00:11:06.079 --> 00:11:10.129 programming academy slash py download html 298 00:11:10.129 --> 00:11:13.879 as in to there, we get this web page 299 00:11:13.879 --> 00:11:15.709 pop-up and we just need to come 300 00:11:15.709 --> 00:11:17.829 over here as it says right click then 301 00:11:17.829 --> 00:11:20.209 I'm going to click on save link as, 302 00:11:20.209 --> 00:11:23.750 we want to save the path and files and you 303 00:11:23.750 --> 00:11:25.730 can see that it's a Python the script 304 00:11:25.730 --> 00:11:27.079 down the bottom there and it's going 305 00:11:27.079 --> 00:11:28.579 it's wanting to save that somewhere, so I'm 306 00:11:28.579 --> 00:11:30.740 going to never get to my desktop and 307 00:11:30.740 --> 00:11:33.889 save it in there, you can see down the 308 00:11:33.889 --> 00:11:35.329 bottom left hand corner it's now finished. 309 00:11:35.329 --> 00:11:36.290 So I'm going to close down the browser, 310 00:11:36.290 --> 00:11:39.050 any very small file to mention to the 311 00:11:39.050 --> 00:11:41.990 700 lines of code. Alright, so remembering 312 00:11:41.990 --> 00:11:43.699 where you've downloaded that we need to 313 00:11:43.699 --> 00:11:45.079 switch back to idle which you can see 314 00:11:45.079 --> 00:11:47.319 I'm in there now. Now from the file menu, 315 00:11:47.319 --> 00:11:50.839 click on Python file I'm going to click 316 00:11:50.839 --> 00:11:53.149 on open this time, I'm going to navigate 317 00:11:53.149 --> 00:11:55.430 to my desktop folder again I'm going to 318 00:11:55.430 --> 00:11:57.560 select exchange underscore chart dot pu 319 00:11:57.560 --> 00:11:58.689 which was the file that is downloaded, 320 00:11:58.689 --> 00:12:02.810 click on open and we'll move this 321 00:12:02.810 --> 00:12:06.110 code over here, this is the code that I 322 00:12:06.110 --> 00:12:08.149 was talking about, it is a bit complex 323 00:12:08.149 --> 00:12:09.560 and certainly not anything you need to 324 00:12:09.560 --> 00:12:11.389 understand right now, but you will be 325 00:12:11.389 --> 00:12:12.439 learning this as we go through the 326 00:12:12.439 --> 00:12:14.839 course and what we're going to do is 327 00:12:14.839 --> 00:12:16.579 we're going to run it and again 328 00:12:16.579 --> 00:12:18.620 we can run a python script by clicking 329 00:12:18.620 --> 00:12:21.139 on run, run module or in this case 330 00:12:21.139 --> 00:12:23.300 pressing the f5, I will select them on 331 00:12:23.300 --> 00:12:27.079 the menu option this time, so selected 332 00:12:27.079 --> 00:12:29.360 run in a moment just move this over here 333 00:12:29.360 --> 00:12:31.790 to the middle and this is actually 334 00:12:31.790 --> 00:12:33.470 downloading the current exchange rates 335 00:12:33.470 --> 00:12:35.899 in real time and then generating a graph 336 00:12:35.899 --> 00:12:38.180 and you can see that's now complete, 337 00:12:38.180 --> 00:12:40.370 so getting a chart now showing the exchange 338 00:12:40.370 --> 00:12:42.800 rates for Australian dollars, Great 339 00:12:42.800 --> 00:12:44.990 Britain pounds and the Euro against the 340 00:12:44.990 --> 00:12:47.389 US dollar. Now the program displays the 341 00:12:47.389 --> 00:12:49.430 data for the last 12 months, so you'll 342 00:12:49.430 --> 00:12:50.750 get different month showing along the 343 00:12:50.750 --> 00:12:52.430 x-axis depending on when you're actually 344 00:12:52.430 --> 00:12:54.649 running this, you can see that this video 345 00:12:54.649 --> 00:12:57.829 is being recorded in August 2017, 346 00:12:57.829 --> 00:12:59.120 so that's the most current month but this 347 00:12:59.120 --> 00:13:01.339 will change depending on when you're 348 00:13:01.339 --> 00:13:03.769 running this and I think you'd probably 349 00:13:03.769 --> 00:13:05.329 agree that that's pretty impressive to 350 00:13:05.329 --> 00:13:06.439 be able to have all that functionality 351 00:13:06.439 --> 00:13:09.670 packed into less than 100 lines of 352 00:13:09.670 --> 00:13:12.820 in fact I think it's 95 lines, 353 00:13:12.820 --> 00:13:16.270 there's the code there and confirming that 354 00:13:16.270 --> 00:13:17.710 I'm not going to explain how that code 355 00:13:17.710 --> 00:13:19.750 works at the moment because it uses a 356 00:13:19.750 --> 00:13:21.820 lot of parts and features but everything 357 00:13:21.820 --> 00:13:23.740 it does will be explained in this course, 358 00:13:23.740 --> 00:13:26.110 so it will all simply make sense as you 359 00:13:26.110 --> 00:13:28.210 work through these videos. Alright so 360 00:13:28.210 --> 00:13:30.280 that's a brief tour of idle, in the next 361 00:13:30.280 --> 00:13:31.390 video, we're going to install and 362 00:13:31.390 --> 00:13:33.040 configure another IDE which we've talked 363 00:13:33.040 --> 00:13:35.710 about IntelliJ IDEA and I'm also going 364 00:13:35.710 --> 00:13:37.360 to talk about downloading pycharm 365 00:13:37.360 --> 00:13:39.340 instead if you prefer and that's because 366 00:13:39.340 --> 00:13:41.740 it looks exactly the same as I did but 367 00:13:41.740 --> 00:13:44.590 only supports Python programming, 368 00:13:44.590 --> 00:13:48.540 as said though if you're already using an IDE.