Вы находитесь на странице: 1из 77

Basic Programming

using Python

Copyright 2013 Accenture All rights reserved.

Module Objectives

At the end of this module, you will be able to:

Describe and demonstrate the concepts of basic


programming using Python
Write a program using Python

Copyright 2013 Accenture All rights reserved.

Agenda

Overview of Python
Programming with Python
Variables, Expressions, Statements
Functions
Conditions
Iteration
To make learners grounded with the basics of computer programming
through Python as we strongly believe that Python is the future.

Copyright 2013 Accenture All rights reserved.

Problem Solving

What is Problem Solving?


The single most important skill for a computer scientist is
problem solving. Problem solving means the ability to
formulate problems, think creatively about solutions, and
express a solution clearly and accurately.

Why do we need to learn Programming ?


As it turns out, the process of learning to program is an
excellent opportunity to practice problem-solving skills.

Copyright 2013 Accenture All rights reserved.

History of Python

Python was developed by Guido van Rossum in the late eighties


and early nineties at the National Research Institute for
Mathematics and Computer Science in the Netherlands.

Python is derived from many other languages, including ABC,


Modula-3, C, C++, Algol-68, SmallTalk, and Unix shell and other
scripting languages.

Python is copyrighted. Like Perl, Python source code is now


available under the GNU General Public License (GPL).

Python is now maintained by a core development team at the


institute, although Guido van Rossum still holds a vital role in
directing its progress.

Copyright 2013 Accenture All rights reserved.

Copyright 2013 Accenture All rights reserved.

History of Python

About the origin of Python, Van Rossum wrote in 1996:


Over six years ago, in December 1989, I was looking for a
"hobby" programming project that would keep me occupied
during the week around Christmas. My office ... would be closed,
but I had a home computer, and not much else on my hands. I
decided to write an interpreter for the new scripting language I
had been thinking about lately: a descendant of ABC that would
appeal to Unix/C hackers. I chose Python as a working title for
the project, being in a slightly irreverent mood (and a big fan of
Monty Python's Flying Circus)

Copyright 2013 Accenture All rights reserved.

What is Python?
Python is a high-level, interpreted, interactive and objectoriented scripting language. Python was designed to be highly
readable which uses English keywords frequently where as other
languages use punctuation and it has fewer syntactical
constructions than other languages.
Lets discuss all of these bold words, one by one:
1.

High Level language

2.

Interpreted

3.

Interactive

4.

Object oriented

Copyright 2013 Accenture All rights reserved.

High Level Language

Python, like C++, PHP, and Java is a high level language.


Thus, programs written in a high-level language have to be
processed before they can run. This extra processing takes
some time, which is a small disadvantage of high-level
languages.

But the advantages are enormous.

1.

First, it is much easier to program in a high-level language.

2.

Second, high-level languages are portable, meaning that they can


run on different kinds of computers with few or no modifications.
Low-level programs can run on only one kind of computer and
have to be rewritten to run on another.

Due to these advantages, almost all programs are written in


high-level languages. Low-level languages are used only for a
few specialized applications.

Copyright 2013 Accenture All rights reserved.

Interpreted Language

This means that Python is processed at runtime by the


interpreter and you do not need to compile your program before
executing it. This is similar to PERL and PHP.

Now, what is compiler and interpreter?


Two kinds of programs process high-level languages into lowlevel languages: interpreters and compilers.
An interpreter reads a high-level program and executes it,
meaning that it does what the program says. It processes the
program a little at a time, alternately reading lines and
performing computations

Copyright 2013 Accenture All rights reserved.

10

Interpreted Language

A compiler reads the program and translates it completely


before the program starts running. In this case, the high-level
program is called the source code, and the translated program
is called the object code or the executable. Once a program is
compiled, you can execute it repeatedly without further
translation.

Many modern languages use both processes. They are first


compiled into a lower level language, called byte code, and
then interpreted by a program called a virtual machine. Python
uses both processes, but because of the way programmers
interact with it, it is usually considered an interpreted language.

Copyright 2013 Accenture All rights reserved.

11

Interactive and Object Oriented Language

By interactive it means that you can actually sit at a Python


prompt and interact with the interpreter directly to write your
programs.

By Object Oriented it means that, Python supports ObjectOriented style or technique of programming that encapsulates
code within objects.

Copyright 2013 Accenture All rights reserved.

12

What is a program ?

A program is a sequence of instructions that specifies how to


perform a computation. The computation might be something
mathematical, such as solving a system of equations or finding
the roots of a polynomial, but it can also be a symbolic
computation, such as searching and replacing text in a document
or (strangely enough) compiling a program.

The details look different in different languages, but a few basic


instructions appear in just about every language: input, output,
math, conditional execution, repetition.

Copyright 2013 Accenture All rights reserved.

13

Programming with Python

Copyright 2013 Accenture All rights reserved.

Getting Started
There are two ways to write a program in Python :
Interactive Mode Programming:

You type Python statements into the Python shell and the
interpreter immediately prints the result.

Type the following text to the right of the Python prompt and press
the Enter key:

If you are running new version of Python, then you would need to
use print statement with parenthesis like print ("Hello, Python!");.

Copyright 2013 Accenture All rights reserved.

15

Getting Started
Script Mode Programming:

Alternatively, you can write a program in a file and use the


interpreter to execute the contents of the file. Such a file is
called a script. For example, we used a text editor to create a
file named firstprogram.py with the following contents.

By convention, files that contain Python programs have names


that end with.py.

To execute the program, we have to tell the interpreter the name


of the script:

Copyright 2013 Accenture All rights reserved.

16

Variables, Expressions, Statements

Copyright 2013 Accenture All rights reserved.

Values and Data Types

A value is one of the fundamental things like a letter or a


number that a program manipulates. Eg. 2 (the result of our
previous program) and Hello, World !

These values belong to different data types: 2 is an integer,


and"Hello, World!" is a string, so-called because it contains a
string of letters. You (and the interpreter) can identify strings
because they are enclosed in quotation marks.

If you are not sure what type a value has, the interpreter can tell
you.

Copyright 2013 Accenture All rights reserved.

18

Values and Data Types

Strings belong to the type str and integers belong to the type
int. Less obviously, numbers with a decimal point belong to a
type called float, because these numbers are represented in a
format called floating-point.

What about values like "17" and "3.2"? They look like numbers,
but they are in quotation marks like strings.

Strings in Python can be


enclosed in either single
quotes () or double quotes ().

Double quoted strings can


contain single quotes inside
them, as in "Bruce's beard"

Copyright 2013 Accenture All rights reserved.

19

Variable

A variable is a name that refers to a value.

The assignment statement creates new variables and gives


them values:

The assignment operator, = should not be confused with an


equals sign (even though it uses the same character).
Assignment operators link a name, on the left hand side of the
operator, with a value, on the right hand side.

Copyright 2013 Accenture All rights reserved.

20

Variable Names

Variable names can be arbitrarily long. They can contain both


letters and numbers, but they have to begin with a letter. Although it
is legal to use uppercase letters, by convention we dont.
Remember that case matters: Bruce and bruce are different
variables.

The underscore character _ can appear in a name. It is often used


in names with multiple words, such as my_name or
price_of_tea_in_china.

If you give a variable an illegal name, you get a syntax error:

Copyright 2013 Accenture All rights reserved.

21

Keywords

Whats wrong with Class ?


It turns out that class is one of the Python keywords. Keywords
define the languages rules and structure, and they cannot be
used as variable names.
Python has thirty-one keywords:

You might want to keep this list handy. If the interpreter


complains about one of your variable names and you dont know
why, see if it is on this list.

Copyright 2013 Accenture All rights reserved.

22

Statement

A statement is an instruction that the Python interpreter can


execute. We have seen two kinds of statements: print and
assignment.

When you type a statement on the command line, Python


executes it and displays the result, if there is one. The result of a
print statement is a value. Assignment statements dont produce
a result.

A script usually contains a sequence of statements. If there is


more than one statement, the results appear one at a time as
the statements execute.

For example, the script

Copyright 2013 Accenture All rights reserved.

23

Expressions

An expression is a combination of values, variables, and


operators. If you type an expression on the command line, the
interpreter evaluates it and displays the result:

A value all by itself is a simple expression, and so is a variable.

Confusingly, evaluating an expression is not quite the same


thing as printing a value.

Copyright 2013 Accenture All rights reserved.

24

Operators and Operands

Operators are special symbols that represent computations like


addition and multiplication. The values the operator uses are called
operands.

The following are all legal Python expressions whose meaning is more
or less clear:

The symbols +, -, and /, and the use of parenthesis for grouping, mean
in Python what they mean in mathematics. The asterisk (*) is the
symbol for multiplication, and ** is the symbol for exponentiation.

When a variable name appears in the place of an operand, it is


replaced with its value before the operation is performed.

In case of division of an integer by an integer, the quotient is also an


integer. Eg. 59/60 = 0 and NOT 0.9833

Copyright 2013 Accenture All rights reserved.

25

Order of Operations

When more than one operator appears in an expression, the


order of evaluation depends on the rules of precedence.
Python follows the same precedence rules for its mathematical
operators that mathematics does. The acronym PEMDAS is a
useful way to remember the order of operations:

Copyright 2013 Accenture All rights reserved.

P Parentheses
E Exponentiation
M Multiplication
D Division
A Addition
S Subtraction

26

Operations on Strings

In general, you cannot perform mathematical operations on


strings, even if the strings look like numbers. The following are
illegal (assuming that message has type string):

Interestingly, the + operator does work with strings, although it


does not do exactly what you might expect. For strings, the +
operator represents concatenation, which means joining the
two operands by linking them end-to-end. For example:

The output of this program is banana nut bread. The space


before the word nut is part of the string, and is necessary to
produce the space between the concatenated strings.

Copyright 2013 Accenture All rights reserved.

27

Operations on Strings

The * operator also works on strings; it performs


repetition. For example, 'Fun'*3 is 'FunFunFun'. One
of the operands has to be a string; the other has to be
an integer.

Just as 4*3 is equivalent to 4+4+4, we expect "Fun"*3


to be the same as "Fun"+"Fun"+"Fun", and it is.

Copyright 2013 Accenture All rights reserved.

28

Input

Copyright 2013 Accenture All rights reserved.

29

Comments

As programs get bigger and more complicated, they get more


difficult to read. Formal languages are dense, and it is often difficult
to look at a piece of code and figure out what it is doing, or why.

For this reason, it is a good idea to add notes to your programs to


explain in natural language what the program is doing. These notes
are called comments, and they are marked with the # symbol:

In this case, the comment appears on a line by itself. You can also
put comments at the end of a line:

Everything from the # to the end of the line is ignored it has


no effect on the program.

Copyright 2013 Accenture All rights reserved.

30

Activity
In this activity, you will:
1.
Record what happens when you print the following:
1.
N=7
2.
7+5
3.
5.2 , this, 4-2, that, 5/2.0
2.
The difference between input and raw_input is that input
evaluates the input string and raw_input does not. Try the
following in the interpreter and record what happens:
>>> x = input()
3.14
>>> type(x)
>>> x = raw_input()
3.14
>>> type(x)

Copyright 2013 Accenture All rights reserved.

31

Activity
>>> x = input()
'The knights who say "ni!"'
>>> x
3.

What happens if you try the example above without the


quotation marks?
>>> x = input()
The knights who say "ni!"
>>> x
>>> x = raw_input()
'The knights who say "ni!"'
>>> x
Describe and explain each result.

Copyright 2013 Accenture All rights reserved.

32

Activity
4.

Place a comment before a line of code that previously


worked, and record what happens when you rerun the
program.

5.

Take the sentence: All work and no play makes Jack a


dull boy.Store each word in a separate variable, then
print out the sentence on one line using print.

Time duration: 30 mins

Copyright 2013 Accenture All rights reserved.

33

Functions

Copyright 2013 Accenture All rights reserved.

Definition of a Function
A function is a block of organized, reusable code that is used to perform a
single, related action. Functions provide better modularity for your
application and a high degree of code reusing.
Simple rules to define a function in Python:

Function blocks begin with the keyword def followed by the function
name and parentheses ( ).

Any input parameters or arguments should be placed within these


parentheses. You can also define parameters inside these parentheses.

The first statement of a function can be an optional statement - the


documentation string of the function or docstring.

The code block within every function starts with a colon (:) and is
indented.

The statement return [expression] exits a function, optionally passing


back an expression to the caller. A return statement with no arguments is
the same as return None.

Copyright 2013 Accenture All rights reserved.

35

Syntax of a function

In python, the syntax for a function definition:

There can be any number of statements inside the function, but


they have to be indented from the def.

In a function definition, the keyword in the header is def, which is


followed by the name of the function and a list of parameters
enclosed in parentheses. The parameter list may be empty, or it
may contain any number of parameters. In either case, the
parentheses are required.

Copyright 2013 Accenture All rights reserved.

36

Example: Function
Here is the simplest form of a Python function. This function

takes a string as input parameter and prints it on standard screen.


def printme( str ):
"This prints a passed string into this function"
print str
return
Return Statement:
The statement return [expression] exits a function, optionally
passing back an expression to the caller. A return statement with no
arguments is the same as return None.
Copyright 2013 Accenture All rights reserved.

37

Calling a Function

Once the basic structure of a function is finalized, you can execute it by calling it from
another function or directly from the Python prompt. Following is the example to call
printme() function:

# Function definition is here


def printme( str ):
"This prints a passed string into this function"
print str;
return;
# Now you can call printme function
printme(First Call);
Printme(Second Call");

When the above code is executed, it produces the following result:


First Call
Second Call

The same function can be called repeatedly.

Copyright 2013 Accenture All rights reserved.

38

Parameters of a Function and Inbuilt Functions

The parameters of a function are always passed by reference


which means that when the value of the variable is changed
within the function then it is also changed in the calling function.

Python has many inbuilt functions as well. For eg. Abs(value),


Pow(a,b), max(a,b).
>>>abs(5)
5
>>>abs(-5)
5
>>>pow(2,3)
8
>>>max(7,11)
11

Copyright 2013 Accenture All rights reserved.

39

Scope of a Variable

All variables in a program may not be accessible at all locations in that


program. This depends on where you have declared a variable.

The scope of a variable determines the portion of the program where


you can access a particular identifier. There are two basic scopes of
variables in Python:

Global variables

Local variables

Variables that are defined inside a function body have a local scope,
and those defined outside have a global scope.

This means that local variables can be accessed only inside the
function in which they are declared, whereas global variables can be
accessed throughout the program body by all functions.

Copyright 2013 Accenture All rights reserved.

40

Local and Global Variables

Copyright 2013 Accenture All rights reserved.

41

Local Variable

When you create a local variable inside a function, it only exists inside
the function, and you cannot use it outside. For example:

This function takes two arguments, concatenates them, and then prints
the result twice. We can call the function with two strings:

When cat_twice terminates, the variable cat is destroyed. If we try to


print it, we get an error:

Copyright 2013 Accenture All rights reserved.

42

Activity

In this activity you will:


Write a function to print the sum of 2 numbers a and b and
assign it to c. Print the value of c then.
2. Write a function to print the result of Fibonacci Series.
3. Write a function to print the factorial of a number.
4. Write a function to explain the use of local and global
variables.
1.

Time duration: 60 mins

Copyright 2013 Accenture All rights reserved.

43

Conditions

Copyright 2013 Accenture All rights reserved.

Decision Making

Python programming language assumes any non-zero and non-null


values as true, and if it is either zero or null, then it is assumed as false
value.
Copyright 2013 Accenture All rights reserved.

45

Operators

Modulus Operator: It works on integers (and integer


expressions) and yields the remainder when the first operand is
divided by the second. In Python, the modulus operator is a
percent sign (%).

Logical Operators: There are three logical operators: and, or,


and not.

Copyright 2013 Accenture All rights reserved.

46

Operators

Comparison Operators: Assume variable a holds 10 and variable b


holds 20, then:

Copyright 2013 Accenture All rights reserved.

47

Operators

Assignment Operator: Assume variable a holds 10 and variable b


holds 20, then:

Copyright 2013 Accenture All rights reserved.

48

Boolean Values

The Python type for storing true and false values is called bool.

There are only two boolean values: True and False.


Capitalization is important, since true and false are not boolean
values.

Example:
>>> type(True)
<type 'bool'>
>>> type(true)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'true' is not defined

Copyright 2013 Accenture All rights reserved.

49

Boolean Expression

A boolean expression is an expression that


evaluates to a boolean value. The operator ==
compares two values and produces a boolean value:

>>> 5 == 5
True
>>> 5 == 6
False

Copyright 2013 Accenture All rights reserved.

50

Decision Making Statements

Python programming language provides following


types of decision making statements:

If

statements

Ifelse

statements

Nested

if statements

Copyright 2013 Accenture All rights reserved.

51

If statement
a=100
if a==100:
print Value of a is 100
print Good Bye
Output:
Value of a is 100
Good Bye

Copyright 2013 Accenture All rights reserved.

52

If.. Else Statement


The syntax is :
if expression:
statement(s)
else:
statement(s)

Example:
var1 = 100
if var1:
print "1 - Got a true expression value"
else:
print "1 - Got a false expression value"
var2 = 0
if var2:
print "2 - Got a true expression value"
else:
print "2 - Got a false expression value"
print "Good bye!"

Copyright 2013 Accenture All rights reserved.

53

If.. Else Statement

Output:

1 - Got a true expression value


2 - Got a false expression value
Good bye!

Copyright 2013 Accenture All rights reserved.

54

The elif statement

elif is an abbreviation of else if . There is no limit of the number


of elif statements but only a single (and optional) else statement
is allowed and it must be the last branch in the statement, eg:

if choice == 'a':
function_a()

elif choice == 'b':


function_b()

elif choice == 'c':


function_c()

else:
print "Invalid choice."

Copyright 2013 Accenture All rights reserved.

55

Nested If Statement

The syntax of the nested if..else construct may be:


if expression1:
statement(s)
if expression2:
statement(s)
else:
statement(s)
else:
statement(s)

Copyright 2013 Accenture All rights reserved.

56

Example
Assume x= 10 and y =5
if x == y:
print x, "and", y, "are equal"
else:
if x < y:
print x, "is less than", y
else:
print x, "is greater than", y
Output:
x is greater than y
Copyright 2013 Accenture All rights reserved.

57

More on Keyboard Input

2 functions used for input are : raw_input and input.

When either of these functions are called, the program stops


and waits for the user to type something. When the user presses
Return or the Enter key, the program resumes and raw_input
returns what the user typed as a string:
>>> my_input = raw_input()
What are you waiting for?
>>> print my_input
Output:
What are you waiting for?

Copyright 2013 Accenture All rights reserved.

58

More on Keyboard Input

Before calling raw_input, it is a good idea to print a message telling


the user what to input. This message is called a prompt. We can
supply a prompt as an argument to raw_input:
>>> name = raw_input("What...is your name?)
What...is your name? Arthur, King of the Britons!
>>> print name
Arthur, King of the Britons!

If we expect the response to be an integer, we can use the input


function which evaluates the response as a Python expression
prompt = "What...is the airspeed velocity of an unladen swallow?\n"
speed = input(prompt)

Copyright 2013 Accenture All rights reserved.

59

More on Keyboard Input

If the user types a string of digits, it is converted to an integer


and assigned to speed. Unfortunately, if the user types
characters that do not make up a valid Python expression, the
program crashes:
>>> speed = input(prompt)
What...is the airspeed velocity of an unladen swallow?
What do you mean, an African or a European swallow?
...
SyntaxError: invalid syntax

Copyright 2013 Accenture All rights reserved.

60

More on Keyboard Input

In the last example, if the user had made the response a valid
Python expression by putting quotes around it, it would not have
given an error:
>>> speed = input(prompt)
What...is the airspeed velocity of an unladen swallow?
"What do you mean, an African or a European swallow?"
>>> speed 'What do you mean, an African or a European swallow?'

To avoid this kind of error, it is a good idea to use raw_input to get


a string and then use conversion commands to convert it to other
types.

Copyright 2013 Accenture All rights reserved.

61

Type Conversion

Each Python type comes with a built-in command that attempts to convert values of
another type into that type. The int(ARGUMENT) command, for example, takes any
value and converts it to an integer, if possible, or complains otherwise:
>>> int("32") 32
>>> int("Hello")
ValueError: invalid literal for int() with base 10: 'Hello'

int can also convert floating-point values to integers, but remember that it truncates
the fractional part:
>>> int(-2.3)
-2
>>> int(3.99999)
3
>>> int("42")
42
>>> int(1.0)
1

Copyright 2013 Accenture All rights reserved.

62

Activity

In this activity you will:


1.

2.

Try to evaluate the following numerical expressions in your head, then use the
Python interpreter to check your results:
a)>>> 5 % 2
b)>>> 9 % 5
c)>>> 15%12
d)>>> 12 % 15
e)>>> 0 % 7
f)>>> 7 % 0
if x < y:
print x, "is less than", y
elif x > y:
print x, "is greater than", y
else:
print x, "and", y, "are equal"

Wrap this code in a function called compare(x, y). Call comparethree times: one
each where the first argument is less than, greater than, and equal to the second
argument.
Copyright 2013 Accenture All rights reserved.

63

Activity
Enter the following expressions into the Python shell:

3.
a)
b)
c)
d)
e)
f)
g)
h)
i)
j)
k)

True or False
True and False
not(False) and True
True or 7
False or 7
True and 0
False or 8
"happy" and "sad"
"happy" or "sad"
"" and "sad"
"happy" and ""

Analyze these results. What observations can you make about values of
different types and logical operators? Can you write these observations in
the form of simple rules about and and or expressions?

Time duration: 60 mins

Copyright 2013 Accenture All rights reserved.

64

Iteration

Copyright 2013 Accenture All rights reserved.

What is a Loop ?

A loop statement allows us to execute a statement or group of


statements multiple times and following is the general form of a loop
statement in most of the programming languages:

Copyright 2013 Accenture All rights reserved.

66

Types of Loops

Copyright 2013 Accenture All rights reserved.

67

While Loop

A while loop statement in Python programming language


repeatedly executes a target statement as long as a given
condition is true.

The syntax of a while loop in Python programming language is:


while expression:
While Expression:
statement(s)
Statement(s)

Condition
If
condition
is true
Conditional
Code
Copyright 2013 Accenture All rights reserved.

If
condition
is false
68

Example
count = 0
while (count < 4):
print 'The count is:', count
count = count + 1
print "Good bye!
OUTPUT:
The count is: 0
The count is: 1
The count is: 2
The count is: 3

Copyright 2013 Accenture All rights reserved.

69

For Loop

The for loop in Python has the ability to iterate over the items of
any sequence.

The syntax of a for loop look is as follows:


for var in sequence:
statements(s)
If no more item in sequence
Item from
Sequence
Next item from sequence
Execute
Statement(s)

Copyright 2013 Accenture All rights reserved.

70

Example
for letter in 'Python': # First Example
print 'Current Letter :', letter
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # Second Example
print 'Current fruit :', fruit
print "Good bye!
OUTPUT:
Current Letter : P
Current Letter : y
Current Letter : t
Current Letter : h
Current Letter : o
Current Letter : n
Current fruit : banana
Current fruit : apple
Current fruit : mango
Good bye!
Copyright 2013 Accenture All rights reserved.

71

Activity

In this activity, you will:


1.
2.
3.

Write a program using while loop to print the first ten


even numbers.
Write the same using for loop.
Write a program using while loop to:
Print
This
Output

Time duration:

Copyright 2013 Accenture All rights reserved.

72

Activity
1.

Write a function sum_of_squares_of_digits that computes the sum of the squares of the
digits of an integer passed to it.
For example,sum_of_squares_of_digits(987) should return 194, since9**2 + 8**2 + 7**2 == 81 + 64 + 49
== 194.

def sum_of_squares_of_digits(n):
"""
>>> sum_of_squares_of_digits(1)
1
>>> sum_of_squares_of_digits(9)
81
>>> sum_of_squares_of_digits(11)
2
>>> sum_of_squares_of_digits(121)
6
>>> sum_of_squares_of_digits(987)
194

"""
Check your solution against the doctests above.
Copyright 2013 Accenture All rights reserved.

73

Summary

Copyright 2013 Accenture All rights reserved.

Summary

In this module, we learnt about:


1.

Problem Solving

2.

2 modes of writing a program

3.

Variables, data types, expressions, statements, comments

4.

Functions, Scope of a variable

5.

Operators, Conditionals, Type Conversion

6.

Iteration- Loops

Copyright 2013 Accenture All rights reserved.

75

Knowledge Check

What are key feature of Python?


What are two ways of writing program in Python?
Name few data types available in Python.
What are expressions in Python?
What is the order of precedence for various
operators in Python?
What is scope of a variable in Python? What are
two different ways of defining scope for
variables?
How is type conversion implemented in Python?
Name different types of loops available in
Python.
Copyright 2013 Accenture All rights reserved.

76

Questions

Copyright 2013 Accenture All rights reserved.

Вам также может понравиться