1
00:00:04,800 --> 00:00:07,260
so in this section we looked at blocks in

2
00:00:07,260 --> 00:00:09,090
python and seen how the level of

3
00:00:09,090 --> 00:00:11,550
indentation is crucial in determining

4
00:00:11,550 --> 00:00:14,220
which block a line of code belongs to

5
00:00:14,220 --> 00:00:16,379
we then use if and else to test

6
00:00:16,379 --> 00:00:18,720
conditions and only execute blocks of

7
00:00:18,720 --> 00:00:20,310
code if those conditions were either

8
00:00:20,310 --> 00:00:21,780
true or false

9
00:00:21,780 --> 00:00:23,640
we then went to create more complex

10
00:00:23,640 --> 00:00:26,420
conditions and saw how to use Elif to

11
00:00:26,420 --> 00:00:29,460
check several conditions in turn so next

12
00:00:29,460 --> 00:00:32,330
we moved on to execute blocks of code

13
00:00:32,330 --> 00:00:34,910
repeatedly using for statements to

14
00:00:34,910 --> 00:00:37,500
iterate through a range of values we

15
00:00:37,500 --> 00:00:39,710
covered continue and break to interrupt the

16
00:00:39,710 --> 00:00:41,940
normal flow of a for loop and else to

17
00:00:41,940 --> 00:00:44,120
define a block that always execute if

18
00:00:44,120 --> 00:00:46,670
the loop finishes without a break

19
00:00:46,670 --> 00:00:48,240
this is a different use of the else

20
00:00:48,240 --> 00:00:50,190
keyword to how it's used in an if

21
00:00:50,190 --> 00:00:51,990
statement which is a little unfortunate

22
00:00:51,990 --> 00:00:55,050
and can also be confusing but that's the

23
00:00:55,050 --> 00:00:57,060
keyword that has been chosen so we have

24
00:00:57,060 --> 00:00:58,650
to actually live with that unfortunately

25
00:00:58,650 --> 00:01:01,670
and then finally we digress to look at

26
00:01:01,670 --> 00:01:03,690
augmented assignment and why you should

27
00:01:03,690 --> 00:01:05,280
use it in preference to a normal

28
00:01:05,280 --> 00:01:07,400
assignment where possible or whenever

29
00:01:07,400 --> 00:01:08,430
possible

30
00:01:08,430 --> 00:01:09,930
I'm going to finish this section now

31
00:01:09,930 --> 00:01:11,910
with the short challenge to give you a

32
00:01:11,910 --> 00:01:13,560
chance to practice what you've learned

33
00:01:13,560 --> 00:01:15,720
in the course so far and you have a

34
00:01:15,720 --> 00:01:17,040
chance to make use of the string

35
00:01:17,040 --> 00:01:18,990
formatting that we covered in previous

36
00:01:18,990 --> 00:01:21,240
videos as well as reading an input that

37
00:01:21,240 --> 00:01:23,850
a user types at the keyboard so i'm
videos as well as reading an input that

38
00:01:23,850 --> 00:01:25,620
going to do now is create a new python file

39
00:01:25,620 --> 00:01:28,950
i'm just going to paste in the

40
00:01:28,950 --> 00:01:31,380
actual challenge then you can get

41
00:01:31,380 --> 00:01:33,360
started I'm going to right-click over

42
00:01:33,360 --> 00:01:36,570
here and i've created a new project and

43
00:01:36,570 --> 00:01:39,090
select python file and we'll call this

44
00:01:39,090 --> 00:01:41,840
one

45
00:01:41,840 --> 00:01:46,210
challenge and we're going to paste in

46
00:01:46,210 --> 00:01:48,170
the challenge

47
00:01:48,170 --> 00:01:50,710
ok so the challenge is to create a

48
00:01:50,710 --> 00:01:52,850
program that takes an IP address

49
00:01:52,850 --> 00:01:55,960
entered at the keyboard and prints out the

50
00:01:55,960 --> 00:01:59,060
number of segments that contains and the

51
00:01:59,060 --> 00:02:00,820
length of each segment

52
00:02:00,820 --> 00:02:03,250
now an IP address consists of four numbers

53
00:02:03,250 --> 00:02:05,270
separated from each other with a full

54
00:02:05,270 --> 00:02:06,170
stop

55
00:02:06,170 --> 00:02:08,000
but your program should just count

56
00:02:08,000 --> 00:02:09,820
however many have been entered in

57
00:02:09,820 --> 00:02:11,630
examples of the input you may get are

58
00:02:11,630 --> 00:02:14,870
you can see their 127 . 0 . 0 . 1

59
00:02:14,870 --> 00:02:18,800
another one with a dot 192 . 168 .

60
00:02:18,800 --> 00:02:22,820
0 . 1 another 1 10 . 0 . 123456 . 255

61
00:02:22,820 --> 00:02:28,340
then 172 . 16 and finally 255 another

62
00:02:28,340 --> 00:02:29,870
words you program should work even with

63
00:02:29,870 --> 00:02:32,710
invalid IP addresses what we hear

64
00:02:32,710 --> 00:02:34,150
interested in here is the number of

65
00:02:34,150 --> 00:02:37,180
segments and how long each one is now

66
00:02:37,180 --> 00:02:39,460
once you've got a working program here are

67
00:02:39,460 --> 00:02:41,200
some more suggestions for invalid input

68
00:02:41,200 --> 00:02:43,580
to test and i'm not going to read

69
00:02:43,580 --> 00:02:44,930
those out but you can see them down there or

70
00:02:44,930 --> 00:02:45,890
you can see them on the screen there

71
00:02:45,890 --> 00:02:48,860
from line 17 to 21 not forgetting line

72
00:02:48,860 --> 00:02:51,290
22 which is basically pressing enter

73
00:02:51,290 --> 00:02:53,270
without typing anything making sure your

74
00:02:53,270 --> 00:02:55,790
handling that scenario as well so this

75
00:02:55,790 --> 00:02:57,560
challenge is intended to practice for

76
00:02:57,560 --> 00:02:59,990
loops and if-else statements so although

77
00:02:59,990 --> 00:03:02,090
you could use other techniques such as

78
00:03:02,090 --> 00:03:03,460
splitting the string up

79
00:03:03,460 --> 00:03:04,730
that's not the approach we're looking

80
00:03:04,730 --> 00:03:07,210
for here alright so that's the challenge

81
00:03:07,210 --> 00:03:08,390
see how you go with that

82
00:03:08,390 --> 00:03:10,310
pause the video I'll see you when you

83
00:03:10,310 --> 00:03:15,890
get back ok so let's get started and

84
00:03:15,890 --> 00:03:19,490
just a note here that is probably as

85
00:03:19,490 --> 00:03:21,230
many different solutions to this as

86
00:03:21,230 --> 00:03:23,330
there are people trying to solve it so the

87
00:03:23,330 --> 00:03:25,120
test is not that your solutions should

88
00:03:25,120 --> 00:03:26,740
look like on what I'm about to present

89
00:03:26,740 --> 00:03:29,360
but rather that it produces the correct

90
00:03:29,360 --> 00:03:30,370
output

91
00:03:30,370 --> 00:03:32,540
even if provided with invalid input

92
00:03:32,540 --> 00:03:34,480
alright so let's get started I'm going

93
00:03:34,480 --> 00:03:37,840
to start with IP address.....

94
00:03:37,840 --> 00:03:41,470
....

95
00:03:41,470 --> 00:03:47,050
....

96
00:03:47,050 --> 00:03:52,630
...

97
00:03:52,630 --> 00:03:54,280
so we start by getting the IP address from the

98
00:03:54,280 --> 00:03:56,260
user and then we are initializing two

99
00:03:56,260 --> 00:03:58,630
variables now each time we find a full

100
00:03:58,630 --> 00:04:01,030
stop or period in the input string

101
00:04:01,030 --> 00:04:03,340
we're going to increment a counter of

102
00:04:03,340 --> 00:04:05,950
how many segments there are now unless

103
00:04:05,950 --> 00:04:07,390
the input is blank

104
00:04:07,390 --> 00:04:08,740
they'll always be at least one segment

105
00:04:08,740 --> 00:04:10,990
we're going to initialize the variable

106
00:04:10,990 --> 00:04:12,490
segment to a one

107
00:04:12,490 --> 00:04:14,740
you can see me doing that on line 30 now

108
00:04:14,740 --> 00:04:15,850
we're also going to count how many

109
00:04:15,850 --> 00:04:18,279
characters are in each segment so the

110
00:04:18,279 --> 00:04:19,810
variable-length will be used for that

111
00:04:19,810 --> 00:04:22,540
now do be careful with the name of this

112
00:04:22,540 --> 00:04:24,870
variable it may be tempting to use a

113
00:04:24,870 --> 00:04:27,490
shorthand name for example Len LEN

114
00:04:27,490 --> 00:04:30,220
but if you do that your len variable

115
00:04:30,220 --> 00:04:32,620
would actually replace the built-in Len

116
00:04:32,620 --> 00:04:34,510
function and you'll get some weird

117
00:04:34,510 --> 00:04:36,820
problems now we do

118
00:04:36,820 --> 00:04:37,930
fortunately get a warning from

119
00:04:37,930 --> 00:04:40,090
intelliJ if we try to do that so i

120
00:04:40,090 --> 00:04:41,830
rename this over here to len

121
00:04:41,830 --> 00:04:44,230
temporarily you can see we've got an

122
00:04:44,230 --> 00:04:46,450
underline showing their i can highlight

123
00:04:46,450 --> 00:04:48,940
that this is shadows built-in name len

124
00:04:48,940 --> 00:04:50,110
and I can come over here click on more

125
00:04:50,110 --> 00:04:54,010
shadows built-in named len and over here

126
00:04:54,010 --> 00:04:55,300
we get the

127
00:04:55,300 --> 00:04:58,270
same warning over here that

128
00:04:58,270 --> 00:05:00,160
shadowing the built in name

129
00:05:00,160 --> 00:05:02,050
so what that basically means is we're

130
00:05:02,050 --> 00:05:04,510
providing another function for the word

131
00:05:04,510 --> 00:05:06,640
len here overriding the original one

132
00:05:06,640 --> 00:05:07,900
and that's certainly not what we want to

133
00:05:07,900 --> 00:05:09,910
happen here so make sure you do watch

134
00:05:09,910 --> 00:05:11,740
out for warnings like that because you

135
00:05:11,740 --> 00:05:13,960
can lose the ability to use built in

136
00:05:13,960 --> 00:05:16,450
functions if you reuse the same name in

137
00:05:16,450 --> 00:05:18,040
your code we certainly don't want to do

138
00:05:18,040 --> 00:05:20,860
that and in fact looking at that

139
00:05:20,860 --> 00:05:22,050
probably a better name would be

140
00:05:22,050 --> 00:05:24,640
something like segment.....

141
00:05:24,640 --> 00:05:27,790
we can use len their if you wanted to i'm going

142
00:05:27,790 --> 00:05:29,830
to use...that makes a

143
00:05:29,830 --> 00:05:31,480
lot more sense so we're going to use that

144
00:05:31,480 --> 00:05:33,910
name instead alright so the next step

145
00:05:33,910 --> 00:05:36,010
now is to loop through all the

146
00:05:36,010 --> 00:05:38,140
characters in the input string IP

147
00:05:38,140 --> 00:05:40,480
address and check to see if you've got a

148
00:05:40,480 --> 00:05:42,340
full stop or some other character

149
00:05:42,340 --> 00:05:45,700
let's add the code for that it's going

150
00:05:45,700 --> 00:05:49,110
make a bit of a space here

151
00:05:49,110 --> 00:05:50,580
ok so we're going to start with four

152
00:05:50,580 --> 00:05:55,050
character in IP address

153
00:05:55,050 --> 00:05:57,870
....

154
00:05:57,870 --> 00:06:27,300
....

155
00:06:27,300 --> 00:06:31,680
.....if we get to a full stop which as a

156
00:06:31,680 --> 00:06:33,480
student pointed out is called a period

157
00:06:33,480 --> 00:06:35,730
almost everywhere else outside australia

158
00:06:35,730 --> 00:06:38,160
in the UK and that signals the end of

159
00:06:38,160 --> 00:06:39,930
the segment and the start of a new one

160
00:06:39,930 --> 00:06:43,050
so again I often referred to a period

161
00:06:43,050 --> 00:06:44,100
as a full stop

162
00:06:44,100 --> 00:06:46,290
they're both the same thing but in any

163
00:06:46,290 --> 00:06:48,300
event if we get to this full stop /

164
00:06:48,300 --> 00:06:50,610
period then that signals the end of the

165
00:06:50,610 --> 00:06:52,440
segment as I mention and then we start a new

166
00:06:52,440 --> 00:06:54,930
one at that point now on line 35

167
00:06:54,930 --> 00:06:56,460
we're printing out the details of the

168
00:06:56,460 --> 00:06:58,230
previous segment and then we increment

169
00:06:58,230 --> 00:07:00,800
our segment counter now because we're

170
00:07:00,800 --> 00:07:02,300
about to start reading the characters in

171
00:07:02,300 --> 00:07:04,200
a new segment at that point we're also

172
00:07:04,200 --> 00:07:06,360
taking the opportunity to set the segment_

173
00:07:06,360 --> 00:07:09,030
length variable to 0 now if the

174
00:07:09,030 --> 00:07:11,580
character isn't a period or a full stop if

175
00:07:11,580 --> 00:07:13,230
you speak English proper like what I do

176
00:07:13,230 --> 00:07:16,050
then we just increment the count of

177
00:07:16,050 --> 00:07:18,150
the length so how do we do that we're

178
00:07:18,150 --> 00:07:22,500
going to add an else their so.....

179
00:07:22,500 --> 00:07:24,990
....

180
00:07:24,990 --> 00:07:28,020
looking that code it looks like it might

181
00:07:28,020 --> 00:07:31,020
just work but it doesn't quiet but when

182
00:07:31,020 --> 00:07:32,430
you're learning it's a good idea to run

183
00:07:32,430 --> 00:07:34,530
your code as you build it up that way

184
00:07:34,530 --> 00:07:35,940
you get to see the problems with your

185
00:07:35,940 --> 00:07:37,980
logic before you've written to much and

186
00:07:37,980 --> 00:07:40,500
can make adjustments so I actually run

187
00:07:40,500 --> 00:07:42,150
this program now gonna start by right

188
00:07:42,150 --> 00:07:45,330
clicking it click on run challenge i'm

189
00:07:45,330 --> 00:07:46,550
going to move this down to the bottom so

190
00:07:46,550 --> 00:07:51,240
you can see it a bit easier it's asking

191
00:07:51,240 --> 00:07:53,880
for an IP address if I actually type this

192
00:07:53,880 --> 00:07:56,430
....and

193
00:07:56,430 --> 00:07:57,210
press enter

194
00:07:57,210 --> 00:08:00,540
you can see we've got segment one

195
00:08:00,540 --> 00:08:02,300
contains one character segments 2

196
00:08:02,300 --> 00:08:02,760
contain

197
00:08:02,760 --> 00:08:05,270
one segment 3 contains one but it's

198
00:08:05,270 --> 00:08:07,200
missed the last one so i'm looking at

199
00:08:07,200 --> 00:08:10,980
the code we see that only prints out the

200
00:08:10,980 --> 00:08:13,380
details for a segment when it finds the

201
00:08:13,380 --> 00:08:14,250
full stop

202
00:08:14,250 --> 00:08:16,920
sorry period that terminates it so the

203
00:08:16,920 --> 00:08:19,200
final segment isn't terminated by period

204
00:08:19,200 --> 00:08:21,830
so as a consequence it doesn't get

205
00:08:21,830 --> 00:08:22,740
printed

206
00:08:22,740 --> 00:08:24,830
now there's a clever and slightly

207
00:08:24,830 --> 00:08:27,330
sneaky way to handle that but i'll start

208
00:08:27,330 --> 00:08:29,610
by doing it the obvious way what we need

209
00:08:29,610 --> 00:08:32,100
to do is add an extra bit of code

210
00:08:32,100 --> 00:08:34,580
after loop to check to see if the last

211
00:08:34,580 --> 00:08:36,450
name was a period and print out the

212
00:08:36,450 --> 00:08:39,350
final segment details if it wasn't going

213
00:08:39,350 --> 00:08:41,520
to come down here to do that on line 41

214
00:08:41,520 --> 00:08:44,580
jut a note here....

215
00:08:44,580 --> 00:08:48,270
....

216
00:08:48,270 --> 00:08:55,860
....

217
00:08:55,860 --> 00:09:03,210
and then the actual code will be if....

218
00:09:03,210 --> 00:09:07,680
.....

219
00:09:07,680 --> 00:09:08,940
....

220
00:09:08,940 --> 00:09:12,300
....

221
00:09:12,300 --> 00:09:15,330
....now if we run this again

222
00:09:15,330 --> 00:09:20,760
....we can

223
00:09:20,760 --> 00:09:22,320
see that it's now handling that fourth

224
00:09:22,320 --> 00:09:24,180
fourth number correctly

225
00:09:24,180 --> 00:09:28,050
alright so now it's a good opportunity to

226
00:09:28,050 --> 00:09:30,330
start testing the various inputs

227
00:09:30,330 --> 00:09:32,580
that I listed in the challenge so I got them

228
00:09:32,580 --> 00:09:34,530
all listed up here let's just go through

229
00:09:34,530 --> 00:09:36,450
those one by one we tested the first one

230
00:09:36,450 --> 00:09:38,370
we'll start with the first one...

231
00:09:38,370 --> 00:09:42,540
....you can see we got the right

232
00:09:42,540 --> 00:09:45,590
inputs for their 3111 which is correct

233
00:09:45,590 --> 00:09:48,180
run it again this time we'll try typing...

234
00:09:48,180 --> 00:09:53,400
we actually got

235
00:09:53,400 --> 00:09:57,000
five segments the first one 0 33 11

236
00:09:57,000 --> 00:10:00,960
okay next so far so good....

237
00:10:00,960 --> 00:10:06,990
....and that should be 216 and

238
00:10:06,990 --> 00:10:08,090
three in terms of the number of

239
00:10:08,090 --> 00:10:10,110
characters in each segment that's

240
00:10:10,110 --> 00:10:11,070
correct

241
00:10:11,070 --> 00:10:14,130
ok let's try another one let's try....

242
00:10:14,130 --> 00:10:15,310
....

243
00:10:15,310 --> 00:10:19,270
three and two that's correct

244
00:10:19,270 --> 00:10:21,970
we will try one with just a number 255

245
00:10:21,970 --> 00:10:26,500
segment one contains three characters so

246
00:10:26,500 --> 00:10:27,550
far so good

247
00:10:27,550 --> 00:10:30,910
ok next one was....

248
00:10:30,910 --> 00:10:37,600
....0

249
00:10:37,600 --> 00:10:40,630
32 32 in terms of number of characters

250
00:10:40,630 --> 00:10:42,700
for each segment which is correct

251
00:10:42,700 --> 00:10:49,030
alright so.....

252
00:10:49,030 --> 00:10:56,440
....we got 3411 there and we'll try

253
00:10:56,440 --> 00:11:01,990
big one......

254
00:11:01,990 --> 00:11:09,010
....33 and 9 and got two more to do

255
00:11:09,010 --> 00:11:13,360
here to test....

256
00:11:13,360 --> 00:11:18,280
...232 and the very last one now

257
00:11:18,280 --> 00:11:22,750
....

258
00:11:22,750 --> 00:11:27,190
....212 122

259
00:11:27,190 --> 00:11:28,630
so everything seems to be working

260
00:11:28,630 --> 00:11:31,210
fine theirs only one last test to do now

261
00:11:31,210 --> 00:11:32,980
which is to enter nothing i'm going to

262
00:11:32,980 --> 00:11:34,660
start again and press ENTER

263
00:11:34,660 --> 00:11:39,190
and we get an error that isn't good this

264
00:11:39,190 --> 00:11:40,660
error happens because there's no

265
00:11:40,660 --> 00:11:43,090
characters and IP address and that means

266
00:11:43,090 --> 00:11:44,440
that the for loop that we starting

267
00:11:44,440 --> 00:11:47,050
on line 33 doesn't have any values to

268
00:11:47,050 --> 00:11:49,180
iterate over and consequently the

269
00:11:49,180 --> 00:11:50,920
variable character is never assigned a

270
00:11:50,920 --> 00:11:53,830
value and in fact IntelliJ is aware

271
00:11:53,830 --> 00:11:55,030
that this might happen and it's actually

272
00:11:55,030 --> 00:11:57,280
getting this warning down here if you

273
00:11:57,280 --> 00:11:59,680
hover over that name character may not

274
00:11:59,680 --> 00:12:03,910
be defined now any Java or C++ programmer

275
00:12:03,910 --> 00:12:05,140
is watching this would have been

276
00:12:05,140 --> 00:12:08,500
horrified that I type that final if

277
00:12:08,500 --> 00:12:10,570
statement in the first place in those

278
00:12:10,570 --> 00:12:12,460
languages character would never be

279
00:12:12,460 --> 00:12:15,100
accessible outside of the for loop but

280
00:12:15,100 --> 00:12:17,080
in Python that's perfectly acceptable to

281
00:12:17,080 --> 00:12:20,200
do but only if the for loop is guaranteed to

282
00:12:20,200 --> 00:12:22,180
execute at least once

283
00:12:22,180 --> 00:12:24,370
as long as the loop is entered the

284
00:12:24,370 --> 00:12:26,830
variable character will have a value and

285
00:12:26,830 --> 00:12:28,600
that value will be available outside of

286
00:12:28,600 --> 00:12:28,840
the loop

287
00:12:28,840 --> 00:12:31,550
but the problem here is that the loop

288
00:12:31,550 --> 00:12:32,990
didn't execute at all

289
00:12:32,990 --> 00:12:34,370
that's because there were no characters

290
00:12:34,370 --> 00:12:37,250
in IP address to loop over there is a

291
00:12:37,250 --> 00:12:39,460
relatively easy fix here that's just to

292
00:12:39,460 --> 00:12:41,500
initialize character to be an empty

293
00:12:41,500 --> 00:12:43,450
string at the same time as we initialize

294
00:12:43,450 --> 00:12:45,050
the other variables

295
00:12:45,050 --> 00:12:49,130
let's go up and do that so.....

296
00:12:49,130 --> 00:12:53,120
...and incidentally

297
00:12:53,120 --> 00:12:54,680
I use double quotes there

298
00:12:54,680 --> 00:12:56,890
because 2 single quotes can appear as

299
00:12:56,890 --> 00:12:59,180
one double quote on the video but you

300
00:12:59,180 --> 00:13:01,810
could actually use 2 single quotes like

301
00:13:01,810 --> 00:13:04,490
that again video may not shown to clearly

302
00:13:04,490 --> 00:13:06,440
i'm using two double quotes both

303
00:13:06,440 --> 00:13:07,610
are the same result

304
00:13:07,610 --> 00:13:09,520
the important thing now is that the

305
00:13:09,520 --> 00:13:12,460
variable character has a value whether

306
00:13:12,460 --> 00:13:15,250
the for loop runs or not so this time

307
00:13:15,250 --> 00:13:18,800
when i run the program and press ENTER

308
00:13:18,800 --> 00:13:22,210
segment one contains zero characters we

309
00:13:22,210 --> 00:13:24,880
get the correct result I won't spend any

310
00:13:24,880 --> 00:13:26,260
more time in this video running through all

311
00:13:26,260 --> 00:13:28,370
the other tests again try them out

312
00:13:28,370 --> 00:13:30,280
and they will all actually work fine

313
00:13:30,280 --> 00:13:32,440
so that's the solution if your solution

314
00:13:32,440 --> 00:13:34,330
works with the same amount of input

315
00:13:34,330 --> 00:13:36,680
getting the same results congratulations

316
00:13:36,680 --> 00:13:38,260
but remember again that there are many

317
00:13:38,260 --> 00:13:40,570
ways to solve a problem so your code may

318
00:13:40,570 --> 00:13:42,740
be very different to mine the important

319
00:13:42,740 --> 00:13:44,200
thing here is that isn't that you've got

320
00:13:44,200 --> 00:13:46,390
the same code but that it produces the

321
00:13:46,390 --> 00:13:47,410
same results

322
00:13:47,410 --> 00:13:49,840
alright I'm going to finish the video

323
00:13:49,840 --> 00:13:51,860
here now in the next video I want to

324
00:13:51,860 --> 00:13:53,630
talk about that sneaky method that i

325
00:13:53,630 --> 00:13:56,260
mentioned earlier this video involves

326
00:13:56,260 --> 00:13:57,700
thinking about things slightly

327
00:13:57,700 --> 00:14:00,220
differently and a clue is in the that

328
00:14:00,220 --> 00:14:02,020
comment that i added before the final

329
00:14:02,020 --> 00:14:04,550
if statement this part down here unless the

330
00:14:04,550 --> 00:14:06,640
final character in string was a

331
00:14:06,640 --> 00:14:08,830
period so let's look at that in the next

332
00:14:08,830 --> 00:14:14,250
video

