Placeholder Image

字幕列表 影片播放

  • In this lecture, you will see values act as the most basic (or primitive) data elements

  • necessary to form not only variables, but any expressions.

  • A prominent example of conditional statements in Python is theIfstatement.

  • What you can use it for is intuitive, but it is very important to learn the syntax.

  • Think of the following: if 5 equals 15 divided by 3, then printHooray!”

  • First, don’t forget we should use the double equality sign here, because we are checking

  • whether 5 is equal to 15 divided by 3, and we are not assigning the value of 15 divided

  • by 3 to be 5.

  • 5 is not a variable name; it is a number.

  • Good.

  • Now it is crucial to place a colon.

  • The colon will tell the computer what to do if the condition we just wrote has been satisfied.

  • For achieving good legibility, we advise you to write the print statement on a new line.

  • Please, remember it should be indented; otherwise, you will run into an error.

  • All right, now this should work correctly.

  • Yes, 5 is equal to 15 divided by 3.

  • Hooray!

  • Will it work if we check for 5 being equal

  • to 18 divided by 3?

  • It is not supposed to, since 5 differs from 6.

  • We got nothing, because we have not told the machine what to do, if the provided condition

  • is not satisfied.

  • So, there is no reason for the machine to print outHooray!”

  • The graph could help you imagine the process of the conditionals.

  • Before it displays the outcome of the operation, the machine follows these logical steps.

  • If the conditional code is not to be executed because the if-condition is not true, our

  • program will directly lead us to some other output or, as it is in our case, to nothing.

  • After any of the two situations, the machine will go to the next black point and will progress

  • from there on.

  • Let’s try with an inequality sign, which can be written with an exclamation mark and

  • an equals sign.

  • Isn’t 5 different from 3 times 6?

  • Yes, it is.

  • It is True that it is different.

  • Hence, we haveHooray!” as an output.

  • This was a brief introduction to if-statements.

  • This logic will help you proceed to the next lecture, where we will complicate things a

  • little bit.

  • But not too much

  • Let’s assign the value of 1 to x.

  • We can ask the computer to displayCase 1” if x is greater than 3, andCase 2”

  • if it is less than or equal to 3.

  • Ok, we could write two if-statements one after the other.

  • Let’s see if we get the correct outcome.

  • Yes, we are in case 2.

  • There is a shorter and better way to express ourselves here.

  • In the second part, instead of sayingIf x is smaller than or equal to 3”, we could

  • write directlyelseand insert a colon.

  • Elsewill tell the computer to execute the successive command in all other cases.

  • In our little program, that would meanin all cases when x is not greater than 3”.

  • That translates intowhen x is less than or equal to 3”.

  • Let’s verify if what we did was correct.

  • Bingo!

  • Case number 2!

  • This picture adds up to the one we saw in the previous lesson.

  • Instead of leading to no output, if the condition is false, we will get to an else code.

  • In our case, this is the commandprintcase 2”.

  • Regardless whether the initial condition is satisfied, we will get to the end point, so

  • the computer has concluded the entire operation and is ready to execute a new one.

  • Wonderful!

  • Now, please allow me to share two notes on the subject.

  • Don’t fall into the trap of organizing your code on a whim.

  • There is a strict manner to do that, and indentation plays a key role again.

  • Should you put theelsekeyword, just underneath the first print word, nothing will

  • happen.

  • Remember to place the if and the else keywords on the same vertical line!

  • This is the right moment to introduce you to the notion of blocks of code.

  • The if-statement, meaning the condition plus the relevantprintcommand, form the

  • first block of code.

  • The entire else-statement forms another block of code on its own.

  • In a long sheet with much code, youll have a whole lot of blocks.

  • And larger programs are constructed on a block by block basis.

  • In this lesson, well learn an elegant way of adding a secondifstatement to one

  • of our expressions.

  • This is done with the help of the elif keyword, as shown in this example.

  • If y is not greater than 5, the computer will think: “else if y is less than 5”, written

  • elif y is less than 5”, then I will print outLess”.

  • And the else-statement follows as a tail with the respective block that saysreturnEqual”.

  • Let’s confirm we wrote the code correctly.

  • We can print out thecompare to fivefunction with a value of y equal to 10 in

  • the following way... then well expect to see a statement that saysGreaterbecause

  • 10 is greater than 5.

  • Correct?

  • Ok.

  • Perfect.

  • What if we carry out this operation for the number 2?

  • The machine tells us that 2 is less than 5.

  • And that’s what we expected.

  • To obtain the third outcome, we must compare the number 5 with a number that is not greater

  • or smaller than 5.

  • This will happen only if the argument of the function is 5, right?

  • Shall we try this one?

  • Great!

  • We obtainedEqual”, as expected.

  • Know that you can add as many elif- statements as you need.

  • Let’s provide an example.

  • If y is less than 0, the stringNegativeshould be displayed.

  • I will place this block between the if and the other elif statement.

  • Let’s see what happens.

  • The function with an argument of minus 3 showsnegative”, just as it should.

  • Let me just control whether our little program will run properly if I asked it tocompare

  • to five” a value that lies in the range between 0 and 5, say 3.

  • Yes, we seeLess”, so everything is ok.

  • A very important detail you should try to remember is the computer always reads your

  • commands from top to bottom.

  • Regardless of the speed at which it works, it executes only one command at a time.

  • Scientifically speaking, the instructions we give to the machine are part of a control

  • flow.

  • This is something like the flow of the logical thought of the computer, the way the computer

  • thinksstep by step, executing the steps in a rigid order.

  • When it works with a conditional statement, the computer’s task will be to execute a

  • specific command once a certain condition has been satisfied.

  • It will read your commands from the if- statement at the top, through the elif-statements in

  • the middle, to the else- statement at the end.

  • The first moment the machine finds a satisfied condition, it will print the respective output

  • and will execute no other part of the code from this conditional.

  • In our example, if the first statement is correct, we will see the corresponding output

  • number 1, which is printing the string "Greater”.

  • The computer will disregard the elif and the else statements, and will proceed with the

  • rest of the code.

  • If the first statement is not correct, we will move forward, and the computer will check

  • whether our second statement is true.

  • If yes, we will see output number 2, which is printing the stringNegative”.

  • If not, we will get to statement number 3 and so on until the computer finds a satisfactory

  • outcome to print out.

  • Now, I will switch the order of the two elif statements to prove that the order of instructions

  • matters.

  • Ok?

  • Let me printcompare to fiveof minus 3.

  • Ha!

  • Instead ofNegativewe obtainedLess”.

  • This is how the computer reasons: assume y equals -3.

  • Print outGreaterif y is greater than 5.

  • Is it greater than 5?

  • No, so the computer continues and checks if there are any other statements in our code.

  • Given we have other statements, it moves forward.

  • So, is y less than 5?

  • Yes, it is.

  • At this moment, the computer thinks, “Lovely, I got it!

  • My number is less than 5, I satisfy what my programmer asked me to do, I print outLess

  • and I am fine”.

  • And the machine stops there and does not execute a single letter of the code that follows in

  • this block.

  • The fact that you examined the cases when y is less than 0 or equal precisely to 5 have

  • no application.

  • They become useless.

  • Whether you ask for the output of minus 3 or 3, you will still have to be satisfied

  • with theLesslabel.

  • You found this interesting, didn’t you?

  • Stay focused for the next lecture, when we will share something more about computational

  • logic.

  • You probably noticed we talked about Boolean values a few times.

  • Here, we would like to provide a short video that aims to explain their application.

  • Let x be equal to 2.

  • What you see next is the following if-else construction: – if the value of the x variable

  • is greater than 4, print outCorrect”.

  • In all other cases, printIncorrect”.

  • So, which is the Boolean element we have in this computational logic?

  • Basically, after you insert your if-statement, the computer will attach a Boolean value to

  • it.

  • Depending on the value of its outcome, “TrueorFalse”, it will produce one of the

  • suggested outputs, “CorrectorIncorrect”.

  • If the first statement is True, that is, if x is greater than 4, the machine will print

  • the corresponding statementCorrect”.

  • Else, which means if the statement “x greater than 4” is untrue, or more preciselyFalse”,

  • the statementIncorrectwill be printed.

  • From a certain perspective, everything in a computer system is Boolean, comprising sequences

  • of 0s and 1s, “FalseandTrue”.

  • This is why we are paying attention to the Boolean value.

  • It helps us understand general computational logic and the way conditionals work in Python.

  • Ok.

  • Excellent.

  • Now, you know more about conditionals in Python, and you understand the control flow of if-,

  • elif-, and else- statements.

  • In addition, you saw, once more, complying with the Pythonic syntax is crucial for the

  • execution of your code.

  • Where you type the colon sign and indentation matters.

  • Last, you saw the order in which you declare your commands leads to a specific outcome.

  • If you change the order of your commands, the outcome could change, and this may take

  • you to undesired results.

  • Wonderful!

  • Great!

  • Let’s step it up a notch.

  • Starting from this lesson, well deal with Python’s functions - an invaluable tool

  • for programmers.

  • The best way of learning is by doing, so let’s create a function and see how it can be applied.

  • To tell the computer you are about to create a function, just write def at the beginning

  • of the line.

  • Def is neither a command nor a function.

  • It is a keyword.

  • To indicate this, Jupyter will automatically change its font color to green.

  • Then, you can type the name of the function you will use.

  • For instance, simple, as we will create a very simple function.

  • Then we can add a pair of parentheses.

  • Technically, within these parentheses, you could place the parameters of the function

  • if it requires you to have any.

  • It is no problem to have a function with zero parameters.

  • This is the case with the function we are creating right now.

  • To proceed, don’t miss to put a colon after the name of the function.

  • Since it is inconvenient to continue on the same line when the function becomes longer,

  • it is much better to build the habit of laying the instructions on a new line, with an indent

  • again.

  • Good legibility counts for а good style of coding!

  • All right, let’s see what will happen when we ask the machine to print a sentence.

  • Not much, at least for now.

  • The computer created the functionsimplethat can print outMy first function”,

  • but that was all.

  • To apply the function, we must call it.

  • We must ask the function to do its job.

  • So, we will obtain its result once we type its name, “simple”, and parentheses.

  • See?

  • Great!

  • Ok, good.

  • Our next task will be to create a function with a parameter.

  • Let it beplus tenwith a parameter ”a”, that gives us the sum of “a”

  • and 10 as a result

  • Always begin with thedefkeyword.

  • Then, type the name of the function, “plus ten”, and in parentheses, designate the

  • parameter “a”.

  • The last thing to write on this line would be the colon sign.

  • Good.

  • What comes next is very important.

  • Don’t forget to return a value from the function.

  • If we look at the function we wrote in the previous lesson, there was no value to return;

  • it printed a certain statement.

  • Things are different here.

  • We will need this function to do a specific calculation for us and not just print something.

  • Typereturn “a” plus 10”.

  • This will be the body of this function.

  • Now, let’s callplus tenwith an argument 2 specified in parentheses.

  • Amazing!

  • It works.

  • Once weve created a function, we can run it repeatedly, changing its argument.

  • I could runplus tenwith an argument of 5, and this time, the answer will be 15.

  • Great!

  • Pay attention to the following.

  • When we define a function, we specify in parentheses a parameter.

  • In theplus tenfunction, “a” is a parameter.

  • Later, when we call this function, it is correct to say we provide an argument, not a parameter.

  • So we can saycall plus ten with an argument of 2, call plus ten with an argument of 5”.

  • People often confuse print and return, and the type of situations when we can apply them.

  • To understand the concept better, try to imagine the following.

  • There is an argument x, which serves as an input in a function, like the one we have

  • here.

  • The function in this case is x plus 10.

  • Given that x is an input, we can think of it as a value we already know, so the combination

  • of x and the function will give us the output value y.

  • Well, in programming, return regards the value of y; it just says to the machineafter

  • the operations executed by the function f, return to me the value of y”.

  • Returnplays a connection between the second and the third step of the process.

  • In other words, a function can take an input of one or more variables and return a single

  • output composed of one or more values.

  • This is whyreturncan be used only once in a function.

  • Therefore, we can say the concept of a function applies to programming almost perfectly.

  • There are some extra advantages to consider.

  • You could also assign a more intuitive name to a function – “plus tenoraddition

  • of 10”, and the function will still run correctly.

  • This is a sign of good design.

  • On a sheet with one thousand lines of code, if you call all your functions x1, x2, x3

  • and so on, your colleagues will be confused and utterly unhappy.

  • Naming functions clearly and concisely makes your programming code easy to understand,

  • and it will be accepted as one of good style.

  • There is another way in which you could organize the definition of your function.

  • Start by definingplus tenwith an argument of “a” and a colon.

  • On the next line, instead of directly returning the value of “a” plus 10, another variable

  • can be created inside the function to carry that value.

  • I will use the nameresulthere.

  • I will assign it with the desired value of “a” plus 10.

  • Let’s check what we just did.

  • If I execute the code in the cell, I will get nothing.

  • Why?

  • Because to this moment, I have only declared the variableresultin the body of our

  • function.

  • Naturally, to obtain the desired outcome, I will also have to return that variable.

  • See?

  • When I callplus tenwith an argument of 2, I obtain 12.

  • It is all fine again.

  • Printtakes a statement or, better, an object, and provides its printed representation

  • in the output cell.

  • It just makes a certain statement visible to the programmer.

  • A good reason to do that would be when you have a huge amount of code, and you want to

  • see the intermediary steps of your program printed out, so you can follow the control

  • flow.

  • Otherwise, print does not affect the calculation of the output.

  • Differently, return does not visualize the output.

  • It specifies what a certain function is supposed to give back.

  • It’s important you understand what each of the two keywords does.

  • This will help you a great deal when working with functions.

  • The following could be helpful.

  • Let that same function also print out the statementoutcome”.

  • If we put down onlyreturn outcome”, and thenreturn result”, what will we

  • get when we call the function?

  • Just the first object to returnthe statementoutcome”.

  • If, instead, we print that statement and then returnresult’, we will get what we wanted:

  • theoutcomestatement and the result of the calculation – 15.

  • This was to show you we can return only a single result out of a function.

  • It isn’t a secret we can have a function within the function.

  • For instance, let’s define a function calledwagethat calculates your daily wage.

  • Say you use working hours as a parameter, and you are paid 25 dollars per hour.

  • So this should work.

  • Ok.

  • Good.

  • Notice I don’t technically need the print command here.

  • I could print out the wage afterwards, but I don’t really need to.

  • So, I’ll proceed this way, just returning the value I need.

  • When you do well in a day, your boss will be very happy to give a bonus of 50 dollars

  • added to your salary.

  • Hence, I’ll define a “with bonusfunction for you.

  • And as a parameter, I will take again the working hours.

  • But this time, I will allow myself to return directly the wage with working hours as an

  • output, which would be the value obtained after the wage function has been run, plus

  • the extra 50 dollars youve earned.

  • This is how the first function is involved in the output of the second one – a function

  • within the function!

  • Let’s see what the output will be if you worked 8 hours today and the boss was very

  • happy with your performance.

  • Wage with an argument 8, andwith bonuswith an argument 8.

  • Great!

  • 200 of base compensation and 250 with the bonus!

  • We know how to work with if statements, and we know how to work with functions.

  • In this lesson, well learn how to combine the two.

  • This is a fundamental concept in programming, so please pay attention!

  • Youll encounter it quite regularly when coding.

  • Johnny's mom told him that, by the end of the week, if he has saved at least 100 dollars,

  • she would give him an extra 10 dollars.

  • If he did not manage to save at least 100 dollars, though, she would prefer not to give

  • him the extra cash.

  • Clear.

  • Now, let’s define a function calledadd 10”, which takes as a parameter the unknown

  • “m” that represents the money Johnny saved by the end of the week.

  • What should we tell the computer to do?

  • If “m” is greater than or equal to 100, then add 10 to the saved amount.

  • If it is not, return a statement that lets us know Johnny should save more.

  • That is, if “m” is greater than or equal to a hundred, let “m” assume the value

  • of “m” plus 10.

  • Yes, it is what you saw!

  • We have “m” on both sides of the equation, and that is perfectly fine.

  • As a matter of fact, it is not an equation.

  • Remember that theequalitysign stands for assigning the expression on the right

  • side to what is written on the left side.

  • Let’s complete the if-part withreturn m”.

  • To sum up, logically, we mention “m” as a parameter.

  • Then, we substitute its value with a value greater than “m” with 10.

  • At the end, we say: from now on, return a value equal to the new “m”.

  • Finally, in all other cases say, for instance, “Save more!”

  • (Johnny should learn it is a good habit to have some cash on the side, right?)

  • Let’s see if our intuition was correct.

  • Add 10” of 110 – good, 120!

  • And if “m” was equal to 50…?

  • Amazing!

  • Everything is correct!

  • When you think of it from a logical perspective, it makes sense, doesn’t it?

  • What would you use a computer forto solve problems for you.

  • And it can do that through functions.

  • Youll most probably need to ask the machine to execute something if a given parameter

  • is within certain limits and ask it to execute another thing if the parameter is beyond these

  • limits.

  • Therefore, combining your knowledge about conditionals and functions in Python comes

  • right on the money.

  • Great!

  • Just keep the pace for our next video!

  • We are almost there.

  • In this lesson, well learn how to work with more than one parameter in a function.

  • The way this is done in Python is by enlisting all the arguments within the parentheses,

  • separated by a comma.

  • Shall I call the function we have here for, say, 10, 3, and 2?

  • I get 4.

  • Seems easy to add a few parameters, right?

  • And it is!

  • Just be careful with the order in which you state their values.

  • In our case, I assigned 10 to the variable a, 3 to b, and 2 to c.

  • Otherwise, the order won’t matter if and only if you specify the names of the variables

  • within the parentheses like this: b equals 3, a equals 10, and c equals 2.

  • And of course, we could obtain the same answer – 4!

  • This is how we can work with functions that have multiple arguments.

  • Awesome!

  • Let’s see what’s next!

  • When you install Python on your computer, you are also installing some of its built-in

  • functions.

  • This means you won’t need to type their code every time you use themthese functions

  • are already on your computer and can be applied directly.

  • As a matter of fact, you saw examples of built-in functions in the lesson about data types.

  • The functiontypeallows you to obtain the type of variable you use as an argument,

  • like in this cell – “Typeof 10 givesintfor integer.

  • Theint”, “float”, andstringfunctions transform their arguments in an

  • integer, float, and string data type, respectively.

  • This is why 5.0 was converted to 5, 3 was converted to 3.0, and the number 500 became

  • text.

  • Great!

  • Now, let me show you a few other built-in functions that are quite useful.

  • Maxreturns the highest value from a sequence of numbers.

  • This is whyMaxreturned a value of 30 as an output in this cell.

  • Good.

  • Mindoes just the oppositeit returns the lowest value from a sequence.

  • So, we get 10 in that cell over hereit is the smallest among 10, 20, and 30.

  • Another built-in function, “Abs”, allows you to obtain the absolute value of its argument.

  • Let “z” be equal to minus 20.

  • If we apply theabsfunction to “z”, the result will be its absolute value of 20.

  • See?

  • Perfect!

  • An essential function that can help you a great deal issum”.

  • It will calculate the sum of all the elements in a list designated as an argument.

  • Consider the following list made of 1, 2, 3, and 4 as its data.

  • When I typesum list 1”, my output will be equal to 1 plus 2 plus 3 plus 4.

  • The sum of these numbers equals 10.

  • Roundreturns the float of its argument, rounded to a specified number of digits after

  • the decimal point.

  • Round” 3.555 with 2 digits after the decimal point will turn into 3.56.

  • If the number of digits is not indicated, it defaults to zero.

  • 3.2 is rounded down to 3.0.

  • Great!

  • If you are interested in elevating 2 to the power of 10, you know you could type “2

  • double star 10”.

  • You can get the same result if you use thepowfunction, which stands forpower”.

  • Writepow”, and in theparentheses”, specify the base and the power, separated

  • by a comma.

  • In our case, “2 comma 10”.

  • Execute withShift and Enterandvoilà!

  • 1024!

  • And what if you wanted to see how many elements there are in an object?

  • TheLenfunction, as inlength”, is going to help you do that.

  • If you choose a string as an argument, theLenfunction will tell you how many

  • characters there are in a word.

  • For instance, in the wordMathematics”, we have 11 characters.

  • There are many other built-in functions in Python, but these are a few examples you will

  • often need to use when programming.

  • Great!

  • Weve made excellent progress so far!

  • By now, you know a bit more about Python’s syntax, about if, elif, and else statements,

  • and about functions.

  • In this section, well cover an important topic for Python programminglists.

  • So, what is a list?

  • A list is a type of sequence of data points such as floats, integers, or strings.

  • Therefore, understanding lists relates to your ability to organize data – a crucial

  • skill in today’s labor market.

  • Moreover, youll see Python creates a friendly environment for dealing with lists.

  • Assume you wanted to create a list called Participants that contains the names of John,

  • Leila, Gregory, and Cate.

  • Follow the rules about creating a generic variable.

  • But be careful about two things: place the strings within square brackets and make sure

  • you use quotation marks.

  • Precisely, these brackets indicate the elements inside form a list and not some other type

  • of a sequence.

  • Good, we see the Participants list has already been prepared.

  • Am I going to be able to extract the name of one member of the group?

  • Of course, I can.

  • Do you remember how we extracted the letter ‘d’ from Friday?

  • Using brackets after the wordFriday”.

  • The logic here is the same.

  • I’ll write the name of the list, and in brackets, I’ll indicate the position corresponding

  • to the name I am interested in.

  • It is important that I don’t use parentheses or braces.

  • For instance, let me extract the name of Leila.

  • As programmers, we start counting from zero, so: 0, 1…

  • 1 should be the correct position!

  • And it is!

  • For the sake of argument, in such a situation, a computer scientist might say you have accessed

  • the list by indexing the value 1.

  • This means you have extracted the second of the elements in this list variable.

  • Ok, nice.

  • In addition, there is a way to get to the last element from your liststart counting

  • from the end towards the beginning.

  • Then, you’d need the minus sign before the digit and don’t fall in the trap of thinking

  • we begin enumerating from 0 again!

  • To obtainCate”, we have to write -1; to obtainGregorywe need -2.

  • Ok!

  • Now, let's study a key feature of lists - replacing or deleting items in a list.

  • Let's assume Kate had to quit for some reason, but Maria could replace her.

  • Here's what we can do: access the value at position number three, which currently refers

  • toCate”, and assign it with the stringMaria”.

  • Let’s check if our intuition was correct.

  • 100 percent!

  • Amazing!

  • Another scenario: unfortunately, Gregory got a better offer somewhere else, so he quit

  • as well.

  • There is nobody to replace him, but we must adjust our list accordingly.

  • The del keyword could deliver the required result.

  • Type del, then correctly index Gregory’s position by typingParticipants 2” and...

  • voilà!

  • Important to note is that deleting an element changes the indices of all successive elements.

  • After removing Gregory, Maria’s position shifted one place to the left and is now at

  • the second position.

  • There is no element at the third position.

  • So, a new name, “Dwayne”, needs to be added to theParticipantslist, and

  • well use a method calledappend”.

  • Think of the terms method and function as interchangeable, because in practice, methods

  • work quite like functions.

  • However, the technically correct term to use in this situation ismethod”.

  • Here is the syntax that allows you to call ready-made built-in methods that you do not

  • have to create on your own and can be used in Python directly.

  • After the name of the object, which in this case is theParticipantslist, well

  • put a dot called a dot operator.

  • The dot operator allows you to call on or invoke a certain method.

  • To call the methodappend”, state its name, followed by parentheses.

  • To insert the nameDwaynein our list, we must put the stringDwaynein inverted

  • commas between the parentheses.

  • After we execute the cell, we should have Dwayne added to our group.

  • Shift and Enter

  • Correct!

  • Great!

  • Remember this general structure, because we have to comply with it, if we wish to call

  • any existing method in Python.

  • Alternatively, the same result can be achieved by using theextendmethod.

  • Let’s invite George and Catherine in our group.

  • First, let’s invoke theextendmethod.

  • Ok, good.

  • This time, within the parentheses, well have to add brackets, as we are going to extend

  • theParticipantslist by adding a list specified precisely in these parentheses.

  • Execute through Shift and Enter andyoull have the two pieces attached - the initial

  • Participants list and the extension.

  • Thus, you still managed to enlarge your original list, right?

  • A couple more things before we close this lesson.

  • First, let me show you that listselements are directly treated as string values.

  • After printing this command, we can see the first participant in our list is John.

  • It was not necessary to put any quotation marks around theParticipantselement

  • to do that.

  • Perfect!

  • Finally, theLenbuilt-in function counts the number of elements in an object.

  • For instance, if our word isDolphin”, this function tells us it is composed of 7

  • letters.

  • More importantly, though, this same function can be applied for obtaining the number of

  • elements in a list.

  • Applied to the list we have here, it shows us the list entails six members.

  • Awesome!

  • To summarize, observe how a built-in function takes the objectParticipantsas an

  • argument, while when we are calling built-in methods, they are applied to theParticipants

  • list with the help of the dot operator.

  • The different syntax helps you distinguish between the two.

  • By the way, lists can be sliced, too.

  • But more on that in our next video.

  • In this lesson, well introduce you to another very important conceptslicing.

  • In the future, when working in Python, youll typically have to deal with data that is quite

  • big.

  • Many of the problems that must be solved will regard a tiny portion of the data, and in

  • such cases, you can apply slicing.

  • Imagine you want to use theParticipantslist we saw earlier to obtain a second much

  • smaller list that contains only two names - Leila and Maria.

  • In Pythonic, that would mean to extract the elements from the first and second position.

  • To access these elements, we will open square brackets, just as we did with indexing, and

  • write 1 colon 3.

  • The first number corresponds precisely to the first position of interest, while the

  • second number is one position above the last position we need.

  • In our case, 2 plus 1 equals 3.

  • Correct.

  • We can say we just sliced our Participants list to obtain a new one with the names Leila

  • and Maria.

  • I know this piece of syntax seems a bit strange, but it is not that illogical.

  • Let’s get the first two names from the list, John and Leila.

  • In this case, you don’t need a number at the beginning, and you can start by typing

  • a colon.

  • Ok, so by typing colon 2, we get exactly the first 2 elements.

  • Very good!

  • And how can I obtain the last two?

  • One way would be to indicate the fourth position, corresponding toGeorge”, and leaving

  • nothing after the colon.

  • This would mean we will extract all the elements from the fourth position included to the end

  • of our list.

  • Another way to obtain the same result would be to put a minus sign in front of the number

  • 2.

  • Thus, Python will revert the direction of counting, starting from the end towards the

  • beginning.

  • How many elements are we asking for?

  • 2.

  • Let’s execute.

  • And here’s the outputweve obtained George and Catherine in a new list.

  • Perfect.

  • Ok, let’s check out some additional methods that can be applied to lists.

  • Assume you knowMariais in your list, but you don’t know her position.

  • In other words, you’d like to obtain the index of the elementMariafrom the

  • Participants list.

  • Just call the index method and indicate the string variable of interest in parentheses.

  • The machine tells us Maria is in the second position.

  • And it is.

  • The next functionality is an interesting one.

  • I will show you it is possible to create a list of lists.

  • My goal will be to create a list, calledBigger List”, which contains theParticipants

  • list, and a new one I will callNewcomers”.

  • Let the latter enclose the names of Joshua and Brittany.

  • Shift and Enter

  • Ok, we createdNewcomers”.

  • All I need to do in the next cell is write the name of the variableBigger List

  • and cite within brackets the names of the lists I would like to include.

  • Let’s verify if this works.

  • Yes, it does.

  • The two lists are shown in the suggested order.

  • Great!

  • An important method that could order the names of your participants in alphabetical order

  • is sort.

  • As you can see, after applying it to our list, Catherine comes first and Peter is last.

  • If within the brackets, we say we would like the names to be sorted in a reversed order

  • by statingreverse equals True”, Peter would be first and Catherine last.

  • Naturally, if our elements were sheer numbers, instead of people’s names, this method would

  • function without any problems.

  • Observe how, in this example, I sorted the numbers from 1 to 5 from the smallest to the

  • largest.

  • And herefrom the largest to the smallest.

  • Wonderful!

  • This was a very important lecture.

  • Tuples are another type of data sequences, but differently to lists, they are immutable.

  • Tuples cannot be changed or modified; you cannot append or delete elements.

  • The syntax that indicates you are having a tuple and not a list is that the tuple’s

  • elements are placed within parentheses and not brackets.

  • By the way, the tuple is the default sequence type in Python, so if I enlist three values

  • here, the computer will perceive the new variable as a tuple.

  • We could also say the three values will be packed into a tuple.

  • For the same reason, we can assign a number of values to the same number of variables.

  • Do you remember we went through that a few lectures ago?

  • On the left side of the equality sign, we just added a tuple of variables, and on the

  • right, a tuple of values.

  • That’s why the relevant technical term for this activity is tuple assignment.

  • In the same way we did for lists, we can index values by indicating their position in brackets.

  • That’s why we obtained the first number from the tuple x, namely 40.

  • In addition, we can also place tuples within lists.

  • And then, each tuple becomes a separate element within the list.

  • Tuples are similar to lists, but there are some subtle differences we should not overlook.

  • They can be quite useful when dealing with different comma-separated values.

  • For example, if we have age and years of school as variables, and I have the respective numbers

  • in a string format, separated by a comma (hence the name comma-separated values), the split

  • method with the proper indication within the parentheses will assign 30 as a value for

  • age and 17 as a value for years of school.

  • We can print the two variables separately to check the outcome

  • Everything seems to be correctawesome!

  • Last, functions can provide tuples as return values.

  • This is useful because a function (which can only return a single value otherwise), can

  • produce a tuple holding multiple values.

  • Check this code; I will input only the length of the side of a square, and as an output,

  • thesquare infofunction will return a tuple.

  • The tuple will tell me the area and the perimeter of the square.

  • This is how we can work with tuples in Python!

  • Now that you know what lists and tuples are, you will more quickly understand what dictionaries

  • are about.

  • Dictionaries represent another way of storing data.

  • Each value is associated with a certain key.

  • More precisely, a key and its respective value form a key-value pair.

  • In this example, we have four keys.

  • Different names of animals are attached to each one of them.

  • Pay attention that neither parentheses nor brackets will work in this caseyou need

  • curly braces.

  • After a certain dictionary has been created, a value can be accessed by its key, instead

  • of its index!

  • K1 can be used for cat, while K3 – a mouse!

  • Similarly, as we could do with lists, we can add a new value to the dictionary in the following

  • way: the structure to apply here is dictionary name, new key name within brackets, equality

  • sign, and the name of the new value.

  • The value well assign to key number 5 is parrot.

  • I’ll press Shift plus Enter andwe are goоd to go.

  • Replacing a value follows the same syntax; just let the new variable correspond to an

  • existing key.

  • From that moment on, attached to the second key, we won’t see a dog anymore.

  • Ha, it’s a squirrel now!

  • You feel a list should be able to take part in a key-value pair.

  • And you are right.

  • Let’s turn to another example.

  • Say, only Peter works in department 1, but three people work in department 2 – Jennifer,

  • Michael, and Tommy.

  • Shall we verify?

  • Right.

  • Therefore, our second element is a list.

  • There is another way to fill in a dictionary.

  • I’ll create a new variable and will use empty curly braces to indicate itll be

  • a dictionary.

  • I will not place any keys or values within the braces.

  • Instead, I will assign the keys and the values one by one, and at the end, my dictionary

  • will be full.

  • Quite nice!

  • And if I asked for the center, I will see Hector’s name.

  • Let me introduce you to an interesting Python feature.

  • If the get function gives us the name of the Small Forward of a given team, the machine

  • won’t display an error if we ask for the name of the coach, whose name does not take

  • part in my dictionary.

  • Noneis the default value Python returns in cases where an object does not actually

  • exist within a given dictionary.

  • Now, you can imagine that dictionaries could do a great job, sometimes.

  • For instance, when using companiesnames as keys and their prices on the market as

  • valuesright?

  • Bravo!

  • You are going deeper into programming!

  • Remember things will remain quite abstract, unless you take the time to practice and apply

  • what youve learned in these lessons.

  • Iteration is a fundamental building block of all programs.

  • It is the ability to execute a certain code repeatedly.

  • In this section, we will focus on a few examples of iteration processes in Python.

  • To begin, we have prepared a list, calledeven”.

  • It contains all the even numbers from 0 to 20.

  • Imagine we want these numbers printed out.

  • So, we can write the followingfor n in even”, colon, which would mean

  • for every element n in the listeven”, do the following: print that element.

  • In this case, n is called the loop variable.

  • It is not required to have called it n; any other name would have worked fine.

  • The phrase print n acts as the body of our loop.

  • Don’t forget it should be indented to run the loop properly.

  • The command in the loop body is performed once for each element in the even list.

  • Now, let’s go over the steps implied by this piece of code.

  • The loop starts by taking an element n from our list.

  • Then, the computer executes the body of the loop.

  • In our case, it will simply print that variable.

  • When the computer is done with this operation, called iteration (or pass) of the loop, Python

  • will go back to the for statement and pick the next element “n” that is in theeven

  • list.

  • It will then print it out and so on and so forth until the loop body has been executed

  • for all available elements in the list.

  • Right, let’s apply this code to see the outcome.

  • Exactly as expected, all numbers were stated in a column.

  • What if we wanted to see them ordered in a single line?

  • A comma after the element “n” in the commandprint n” will help us achieve that.

  • The comma will indicate every next element from the loop should be placed on the same

  • row.

  • This was a short but important introduction to the concept of Iteration in programming.

  • The same output we obtained in the previous lesson could be achieved after using a while

  • loop, instead of a for loop.

  • However, the structure we will use will be slightly different.

  • Initially, we will set a variable x equal to zero.

  • And well say: while this value is smaller than or equal to 20, print x.

  • But please be very careful!

  • And I mean it!

  • If you leave the code until here, you will run into an infinite loop, and your computer

  • will crash!

  • This is a situation you want to avoid, right?

  • So be very careful; since x will always be smaller than 20, your loop will be infinite.

  • It will iterate the same variable repeatedly.

  • This is what we did here with x = 0.

  • Andalwaysis not what we want in an iteration.

  • We want to get the loop to end.

  • What is supposed to succeed, the loop body in thewhileblock, is a line of code

  • that specifies a change in x or what has to happen to x after it is printed.

  • In our case, we will tell the computer to bind x to a value equal to x plus two.

  • Let’s see if this works.

  • Awesome!

  • This is much better.

  • Actually, there is a term for what we just did.

  • In programming terms, adding the same number on top of an existing variable during a loop

  • is called incrementing.

  • The amount being progressively added is called an increment.

  • In our case, we have an increment of 2.

  • Furthermore, the Pythonic syntax offers a special way to indicate incrementing.

  • “X Plus equals twoshows we are incrementing the value of 2 on top of the base x, just

  • as if we had typed “x equals x plus 2”.

  • As you can see, the two outcomes are the same.

  • To conclude, whether you will use a for or a while loop will depend mainly on your personal

  • preferences.

  • What matters is that your code does not crash and provides correct results, right?

  • Python’s built-in range function can help us by creating a list of numbers.

  • The syntax of the function is the following: typerangeand in parentheses mark a

  • start, stop, and step value.

  • The start value will be the first number in the list.

  • The stop value will be greater than the last value in the list.

  • It is going to be equal to the last number plus one (just classical Pythonic logic, right?).

  • The so-called step value represents the distance between each two consecutive values on the

  • list.

  • The stop value is a required input, while the start and step values are optional.

  • If not provided, the start value will be automatically replaced with a 0, and the step value would

  • be assumed to be equal to 1.

  • You could also remember the stop value as most important, the start value as less important,

  • and the step value as least important.

  • For this reason, “range of 10” will provide a list of 10 elements, starting from 0, implied

  • after not indicating a start value, and ending at the tenth consecutive numbernumber

  • nine.

  • In another cell, if in therangefunction we declare as arguments 3 and 7, for instance,

  • Python will accept 3 as a start value, and 7 as a stop value of the range.

  • So, well have 4 elements – 3, 4, 5, and 6.

  • Good.

  • To specify a step value in a range, the other two arguments must be chosen as well.

  • In this situation, I’ll obtain a list with all the odd numbers from 1 to 19 included.

  • I will start with the number 1, and the list will end with number 19 (which equals the

  • stop value 20 minus 1), stating only the odd numbers.

  • This is how we can create lists with Python’s range function.

  • In our next lecture, well see how it can be applied in practice.

  • Now that you know what therangefunction does, let’s see it in a for- loop.

  • To print all the values from 2 to the power of 0, 2 to the power of 1, and so on, until

  • 2 to the power of 9, we can use the following code: for “n” in range of 10, print “2

  • double star n”.

  • I will also have to insert a comma, because I would like to see the output on a single

  • line.

  • Good.

  • I guess you can agree it was not necessary to specify the name of a list that exists

  • in our codeusing a list created through therangefunction is going to work

  • too!

  • Now, let’s be brave and create an iteration that includes a conditional in the loop body.

  • We can tell the computer to print all the even values between 0 and 19 and stateOdd

  • in the places where we have odd numbers.

  • Let’s translate this into computational steps.

  • If x leaves a remainder of 0 when divided by 2, which is the same as to sayif x

  • is even”, then print x on the same line.

  • Else”, which means unless x is even, or if x is odd, printOdd”.

  • Lovely!

  • This is an example of a combination of an iteration and a conditional in Python.

  • There are two main ways to program a loop, and until this moment, we paid attention only

  • to the first one.

  • We have a list x that contains the numbers 0, 1, and 2.

  • We saw we can print out each of its elements by typingfor each item in the x list,

  • print out that item”.

  • The second way finds its practical application in more sophisticated codes.

  • Its structure takes advantage of the range and len functions in the following way: “for

  • each item in a range that goes through the elements from the list x, that islen with

  • an argument x”, print out each item”.

  • If we do this, the variable item will loop through a new list created by range, and that

  • has as many elements as the x list itself.

  • Please note that, in this situation, the second line of our code needs indexing to extract

  • each item from the “x” list.

  • In practice, we will print out the element at position 0 from the list x, then the element

  • at position 1, and finally the element at position 2.

  • To conclude, both approaches can lead to the same outcome.

  • Although the second one looks unnecessarily complicated, in advanced coding, it might

  • turn out to be a lot more useful.

  • So, it is important you know both.

  • We use iterations when we have to go through variables that are part of a list.

  • In this lesson, I’ll show you how to count the number of items whose value is less than

  • 20 in a list.

  • First, define a function that takes as an argument numbers, wherenumberswill

  • be a certain list variable.

  • The trick is to create a variable that, so to speak, “departsfrom 0.

  • Let’s call it total.

  • The idea is that, when certain conditions are verified, total will change its value.

  • This is why, in such a situation, it is appropriate to call this variable a rolling sum.

  • More technically, when we consider x in the numbers list, if it is smaller than 20, we

  • will increment the total by 1 and finally return the total value.

  • This means that, if x is less than twenty, total will grow by 1, and if x is greater

  • than or equal to 20, total will not grow.

  • So, for a given list, this count function will return the amount of numbers smaller

  • than 20.

  • Let’s verify if this function works properly.

  • In this list, we have four numbers that are less than 20, right?

  • Let’s check that out.

  • Great!

  • Now, if I add 17, for example, somewhere in the list, the outcome will adjust accordingly.

  • 5.

  • Exactly!

  • Perfect!

  • By the way, look how the whole if-statement is indented even more to the right.

  • This allows us to separate it logically from the rest of the code in the cell that refers

  • to this function.

  • If you are eager to know how to iterate over a dictionary in Python, and I am sure you

  • are, you will see this in our next video.

  • Thank you for watching!

  • Let’s look at something a bit more challenging- iterating over a dictionary.

  • We have a couple of examples here.

  • The prices of a box of spaghetti, of a portion of lasagna, and of a hamburger are stored

  • in a dictionary, calledprices”.

  • Jan went to the supermarket and bought 6 boxes of spaghetti, 10 pieces of lasagna, and no

  • hamburgers.

  • This data was stored in a dictionary, namedquantity”.

  • Our problem is: how much did Jan spend in the supermarket?

  • Well, it is obvious youll need to multiply the quantity of each food by its price.

  • You must have noticed our dictionaries have exactly the same keys.

  • We should exploit this.

  • The procedure to go to thebox of spaghettiin the first dictionary and take the value

  • of 4, then get the value of 6 from the quantity dictionary, and then multiply those two, must

  • be repeated for each food product.

  • That must ring a bell.

  •  I am sure you probably think the samewe need a loop.

  • Ok, that’s clear, but what are we going to do with it?

  • What is the loop’s body going to contain?

  • Before anything else, some variable must account for the amount of money spent, right?

  • Let’s implement a well-known trick.

  • I’ll create a rolling sum, calledmoney spent”, which will initially assume the

  • value of 0.

  • So, we can start by iterating over each item in prices, “i” in prices for short.

  • At every step of the loop, I would like themoney spentvariable to grow by the

  • product of the price and the quantity of a certain good “i”.

  • And that should be enough.

  • Let’s print the result to check whether we were working correctly.

  • Apparently, yes!

  • Wow!

  • Such a simple problem in terms of mathematics, required to connect knowledge on dictionaries,

  • iteration, and creating a variable with an increment.

  • So, from a programmer’s perspective, the problem looks different.

  • The good thing is that, at the end, this whole thing boiled down to a mere four lines of

  • coding!

  • As a side note, do you realize that, if we put quantity instead of prices here, the outcome

  • will remain the same?

  • So, what is the conclusion?

  • It does not matter if you loop through prices or through quantity, because the two dictionaries

  • contain the same keys.

  • And this is the reason this loop works correctly, too.

  • Thanks for watching!

In this lecture, you will see values act as the most basic (or primitive) data elements

字幕與單字

單字即點即查 點擊單字可以查詢單字解釋

B1 中級

Python編程訓練營2020|學習用Python編程[教程和練習]。 (Python Programming Bootcamp 2020 | Learn to Code in Python [Tutorial and Exercises])

  • 2 0
    林宜悉 發佈於 2021 年 01 月 14 日
影片單字