UNIT-1 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON

718 views 63 slides Feb 27, 2024
Slide 1
Slide 1 of 63
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63

About This Presentation

Unit 1 : INTRODUCTION TO PROBLEM SOLVING, EXPRESSION AND DATA TYPES
Fundamentals: what is computer science - Computer Algorithms - Computer Hardware - Computer software - Computational problem solving using the Python programming language - Overview of Python, Environmental Setup, First program in ...


Slide Content

20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON PREPARED BY Mr. P. NANDAKUMAR ASSISTANT PROFESSOR, DEPARTMENT OF INFORMATION TECHNOLOGY, SVCET.

Course content UNIT-I INTRODUCTION TO PROBLEM SOLVING, EXPRESSION AND DATA TYPES Fundamentals: what is computer science - Computer Algorithms - Computer Hardware - Computer software - Computational problem solving using the Python programming language - Overview of Python, Environmental Setup, First program in Python, Python I/O Statement. Expressions and Data Types: Literals, Identifiers and Variables, Operators, Expressions. Data types, Numbers, Type Conversion, Random Number. Problem solving: Restaurant Tab calculation and Age in seconds.

FUNDAMENTALS OF COMPUTER SCIENCE Computer Science is the study of computers and computational systems. Unlike electrical and computer engineers, computer scientists deal mostly with software and software systems; this includes their theory, design, development, and application. Computer algorithms Computer hardware Computer software

Computer algorithms An algorithm is a procedure used for solving a problem or performing a computation. Algorithms act as an exact list of instructions that conduct specified actions step by step in either hardware- or software-based routines. Algorithms are widely used throughout all areas of IT.

Computer hardware Computer hardware is the physical components that a computer system requires to function. It encompasses everything with a circuit board that operates within a PC or laptop; including the motherboard, graphics card, CPU (Central Processing Unit), ventilation fans, webcam, power supply, and so on.

Fundamental Hardware Components

Computer software Software is a set of instructions, data or programs used to operate computers and execute specific tasks. It is the opposite of hardware, which describes the physical aspects of a computer. Computer software examples include operating systems, which allow for easy use of a computer's processing power, as well as applications like Notepad and Firefox. Software is a generic term used to refer to applications, scripts and programs that run on a device.

Ada Lovelace “The First Computer Programmer”

Computational problem solving using the Python programming language Problem Solving with Python is a module where students learn Computational Thinking strategies, problem solving techniques, and fundamental coding concepts using the Python programming language. Computational problem solving is the iterative process of developing computational solutions to problems. These solutions are expressed as a logical sequence of steps (i.e. programs) for others to understand and for computers to execute.

Process of Computational Problem Solving

INTRODUCTION TO PYTHON Python is a cross-platform programming language free and open source general-purpose interpreted, interactive, object-oriented, and high-level programming language Python was created by “ Guido Van Rossum ” in the year 1991 (late 1980’s) Designed to be easy as well as fun, the name "Python" is a nod to the British comedy group Monty Python.

Guido van Rossum

Python Environmental Setup Getting Python The most up-to-date and current source code, binaries, documentation, news, etc., is available on the official website of Python https://www.python.org/ Windows Installation Here are the steps to install Python on Windows machine. Open a Web browser and go to https://www.python.org/downloads/ . Run the downloaded file. This brings up the Python install wizard, which is really easy to use. Just accept the default settings, wait until the install is finished, and you are done. https://www.tutorialspoint.com/python/python_environment.htm

Python Features : Easy-to-learn Easy-to-read Easy-to-maintain A broad standard library Interactive mode Portable Extendable Databases GUI Programming Scalable

Applications of Python : Web Development Game Development Machine Learning and Artificial Intelligence Data Science and Data Visualization Desktop GUI Web Scraping Applications Business Applications Audio and Video Applications CAD Applications Embedded Applications Top Python Applications (2023)

Starting the Python Two ways: Immediate mode Typing python code in the command line >>> Script mode Typing python code in a file, such a file is called script. Save script as filename.py ( ends with . py extension – denotes python file )

The IDLE Python Development Environment IDLE is an integrated development environment ( IDE ). An IDE is a bundled set of software tools for program development. This typically includes an editor for creating and modifying programs, a translator for executing programs, and a program debugger . A debugger provides a means of taking control of the execution of a program to aid in finding program errors.

The Python Standard Library The Python Standard Library is a collection of built-in modules , each providing specific functionality beyond what is included in the “core” part of Python. In order to utilize the capabilities of a given module in a specific program, an import statement is used in the below figure.

A Bit of Python Variables A simple description of a variable is “ a name that is assigned to a value ,” as shown below, n = 5 , variable n is assigned the value 5 Some Basic Arithmetic Operators The common arithmetic operators in Python are + (addition), - (subtraction), * (multiplication), / (division), and ** (exponentiation). 10 + 20 25 - 15 20 / 10 5 * 10 (5 times 10) 2 ** 4 (2 to the 4th power) 10 * (20+1 5) CORRECT 10(20+1 5) INCORRECT

Basic Input and Output In Python, the input function is used for this purpose, name = input('What is your name?: ') Characters within quotes are called strings . This particular use of a string, for requesting input from the user, is called a prompt . The input function displays the string on the screen to prompt the user for input, What is your name?: Charles The underline is used here to indicate the user’s input. The print function is used to display information on the screen in Python. This may be used to display a message, >>> print('Welcome to My First Program!’) Welcome to My First Program! In Python, input is used to request and get information from the user, and print is used to display information on the screen.

Learning How to Use IDLE This program utilizes the following concepts: creating and executing Python programs input and print First, to create a Python program file, select New Window from the File menu in the Python shell as shown in Figure.

Learning How to Use IDLE

Learning How to Use IDLE When finished, save the program file by selecting Save As under the File menu, and save in the appropriate folder with the name MyFirstProgram.py .

Learning How to Use IDLE To run the program, select Run Module from the Run menu (or simply hit function key F5 . If you have entered the program code correctly, the program should execute as shown in below Figure.

Learning How to Use IDLE If, however, you have mistyped part of the program resulting in a syntax error (such as mistyping print), you will get an error message similar to that in the following Figure.

First Python Program Let us execute a Python "Hello, World!" Programs in different modes of programming. Python - Interactive Mode Programming We can invoke a Python interpreter from command line by typing python at the command prompt as following − $ python Python 3.6.8 (default, Mar 31 2023, 09:13:53) Type "help", "copyright", "credits" or "license" for more information. >>>

First Python Program Here >>> denotes a Python Command Prompt where you can type your commands. Let's type the following text at the Python prompt and press the Enter − >>> print ("Hello, World!") Hello, World!

First Python Program Python - Script Mode Programming We can invoke the Python interpreter with a script parameter which begins the execution of the script and continues until the script is finished. When the script is finished, the interpreter is no longer active. Let us write a simple Python program in a script which is simple text file. Python files have extension . py . Type the following source code in a sample.py file − print ( "Hello, World!" )

First Python Program We assume that you have Python interpreter path set in PATH variable. Now, let's try to run this program as follows − $ python sample.py This produces the following result − Hello, World!

Input and Output statements in Python The input() function helps to enter data at run time by the user and the output function print() is used to display the result of the program on the screen after execution. Syntax: input('prompt’) where prompt is an optional string that is displayed on the string at the time of taking input.

Input and Output in Python Example 1: Python get user input with a message # Taking input from the user name = input("Enter your name: ") # Output print("Hello, " + name) print(type(name))

Input and Output in Python Example 2: Integer input in Python # Taking input from the user as integer num = int(input("Enter a number: ")) add = num + 1 # Output print(add)

Data and Expressions FUNDAMENTAL CONCEPTS Literals A literal is a sequence of one of more characters that stands for itself, such as the literal 12. A literal is a sequence of one or more characters that stands for itself. Numeric Literals A numeric literal is a literal containing only the digits 0–9, an optional sign character ( 1 or 2 ), and a possible decimal point.

Data and Expressions Built-in format Function The built-in format function can be used to produce a numeric string version of the value containing a specific number of decimal places. >>> 12/5 >>> 5/7 2.4 0.7142857142857143 >>> format(12/5, '.2f’) >>> format(5/7, '.2f’) '2.40’ '0.71' The built-in format function can be used to produce a numeric string of a given floating-point value rounded to a specific number of decimal places.

Data and Expressions String Literals Numerical values are not the only literal values in programming. String literals , or “ strings ,” represent a sequence of characters, 'Hello’ 'Smith, John’ "Baltimore, Maryland 21210“ A string literal, or string , is a sequence of characters denoted by a pair of matching single or double (and sometimes triple ) quotes in Python. String Literal Values

Data and Expressions Definitions Unicode is capable of representing over 4 billion different characters, enough to represent the characters of all languages, past and present. Python’s (default) character encoding uses UTF-8, an eight-bit encoding that is part of the Unicode standard. Control characters are nonprinting characters used to control the display of output (among other things). An escape sequence is a string of one or more characters used to denote control characters.

Data and Expressions Control Characters Control characters are special characters that are not displayed on the screen. An escape sequence begins with an escape character that causes the sequence of characters following it to “escape” their normal meaning. The backslash (\) serves as the escape character in Python. For example, the escape sequence '\n' , represents the newline control character , used to begin a new screen line. An example of its use is given below, print('Hello\ nJennifer Smith’) which is displayed as follows, Hello Jennifer Smith

Data and Expressions String Formatting The format function can be used to control how strings are displayed. the format function has the form, format(value, format_specifier ) Example: Left Justified: format('Hello', ' < 20') ➝ 'Hello Right Justified: format('Hello', ' > 20') ➝ ' Hello' Built-in function format can be used to control how strings are displayed .

Data and Expressions Implicit Line Joining Matching parentheses, square brackets, and curly braces can be used to span a logical program line on more than one physical line. For example, the following two program lines are treated as one logical line, print('Name:', student_name , 'Address:', student_address , 'Number of Credits:', total_credits , 'GPA:', current_gpa ) Matching quotes (except for triple quotes, covered later) must be on the same physical line. For example, the following will generate an error, print('This program will calculate a restaurant tab for a couple with a gift certificate, and a restaurant tax of 3%')

Data and Expressions Explicit Line Joining Program lines may be explicitly joined by use of the backslash (\). In addition to implicit line joining, program lines may be explicitly joined by use of the backslash (\) character. Program lines that end with a backslash that are not part of a literal string (that is, within quotes) continue on the following line, numsecs_1900_dob = (( year_birth - 1900) * avg_numsecs_year ) + \ (( month_birth - 1) * avg_numsecs_month ) + \ ( day_birth * numsecs_day )

Variables What Is a Variable? A variable is a name (identifier) that is associated with a value, as for variable num depicted in the following. A variable can be assigned different values during a program’s execution—hence, the name “variable”. Variables are assigned values by use of the assignment operator , = . Variable Update

VARIABLES Variables must be declared before they are used in program. The equal sign ( = ) is used to assign values to variables The operand to the left of the = operator is the name of the variable and the operand to the right of the = operator is the value stored in the variable. Example: counter = 100 # An integer assignment miles = 1000.0 # A floating point name = "John" # A string print (counter) print (miles) print (name)

Variables Variable Assignment (to another variable) A variable is a name that is associated with a value . The assignment operator , = , is used to assign values to variables . An immutable value is a value that cannot be changed . All input is returned by the input function as a string type. Built-in functions int() and float() can be used to convert a string to a numeric type.

Identifiers What Is an Identifier? An identifier is a sequence of one or more characters used to provide a name for a given program element. Variable names line, num_credits , and gpa are each identifiers. The underscore character , _ , is also allowed to aid in the readability of long identifier names. It should not be used as the first character Spaces are not allowed as part of an identifier. Identifier Naming

Identifiers and Keywords in Python Identifiers: Set of valid strings Rules for identifiers in python Identifiers can be combination of uppercase and lowercase letters , digits or an underscore(_). So myVariable , variable_1 , variable_for_print all are valid python identifiers. An Identifier can not start with digit . So while variable1 is valid, 1variable is not valid. We can’t use special symbols like !,#,@,%,$ etc in our Identifier. Identifier can be of any length. Keywords: Different version of python has different keywords (Updated python 3 version has 33 keywords) Some of them are: and elif for def from del break print try return continue

Keywords and Other Predefined Identifiers in Python A keyword is an identifier that has predefined meaning in a programming language and therefore cannot be used as a “ regular ” identifier. Doing so will result in a syntax error. >>> and = 10 SyntaxError: invalid syntax The keywords in Python are listed in the following Figure,

Keywords and Other Predefined Identifiers in Python There are other predefined identifiers that can be used as regular identifiers, but should not be. This includes float, int, print, exit, and quit , for example. A simple way to check whether a given identifier is a keyword in Python is given below, >>> 'exit' in dir (__ builtins __) >>> ' exit_program ' in dir (__ builtins __) True False

Operators What Is an Operator? An operator is a symbol that represents an operation that may be performed on one or more operands . For example, the + symbol represents the operation of addition. An operand is a value that a given operator is applied to, such as operands 2 and 3 in the expression 2 + 3 . A unary operator operates on only one operand , such as the negation operator in -12 . A binary operator operates on two operands , as with the addition operator.

Operators Arithmetic Operators Python provides the arithmetic operators given in the following Figure. The + , - , * (multiplication) and / (division) arithmetic operators perform the usual operations. Note that the - symbol is used both as a unary operator (for negation ) and a binary operator (for subtraction ).

Operators Other Operators Python also includes an exponentiation (**) operator . Integer and floating-point values can be used in both the base and the exponent. 2**4 ➝ 16 2.5 ** 4.5 ➝ 61.76323555016366 Python provides two forms of division: 1. True division that is denoted by a single slash, / . 2. Truncating division is denoted by a double slash, // . Division Operators in Python

Operators Other Operators Lastly, the modulus operator (%) gives the remainder of the division of its operands , resulting in a cycle of values. This is shown in the following Figure. The Modulus Operator

Operators Summary The division operator, /, produces “true division” regardless of its operand types . The truncating division operator, //, produces either an integer or float truncated result based on the type of operands applied to. The modulus operator (% ) gives the remainder of the division of its operands .

Expressions and Data Types What Is an Expression? An expression is a combination of symbols that evaluates to a value. Expressions, most commonly, consist of a combination of operators and operands, 4 + (3 * k) An expression can also consist of a single literal or variable . Expressions that evaluate to a numeric type are called arithmetic expressions . A subexpression is any expression that is part of a larger expression . Subexpressions may be denoted by the use of parentheses () .

Expressions and Data Types Operator Precedence The way we commonly represent expressions, in which operators appear between their operands, is referred to as infix notation . For example, the expression 4 + 3 is in infix notation since the + operator appears between its two operands, 4 and 3 . There are other ways of representing expressions called prefix and postfix notation, in which operators are placed before and after their operands, respectively. Operator Precedence of Arithmetic Operators in Python

Expressions and Data Types Operator Associativity Operator associativity is the order that operators are applied when having the same level of precedence, specific to each operator. What Is a Data Type? A data type is a set of values , and a set of operators that may be applied to those values. For example, the integer data type consists of the set of integers , and operators for addition, subtraction, multiplication, and division, among others. Integers, floats, and strings are part of a set of predefined data types in Python called the built-in types .

Expressions and Data Types There are two approaches to data typing in programming languages. In static typing , a variable is declared as a certain type before it is used, and can only be assigned values of that type. Python, however, uses dynamic typing . In dynamic typing , the data type of a variable depends only on the type of value that the variable is currently holding. Thus, the same variable may be assigned values of different type during the execution of a program. Mixed-Type Expressions A mixed-type expression is an expression containing operands of different type.

Expressions and Data Types Values can be converted in one of two ways—by implicit (automatic) conversion , called coercion , or by explicit type conversion . Coercion vs. Type Conversion Coercion is the implicit (automatic) conversion of operands to a common type . 2 + 4.5 ➝ 2.0 + 4.5 ➝ 6.5 safe (automatic conversion of int to float) Type conversion is the explicit conversion of operands to a specific type . float(2) + 4.5 ➝ 2.0 + 4.5 ➝ 6.5 2 + int(4.5) ➝ 2 + 4 ➝ 6

Expressions and Data Types Conversion Functions int() and float() in Python

“Restaurant Tab Calculation” This program utilizes the following programming features: variables keyboard input built-in format function type conversion functions The program in next page calculates a restaurant tab for a couple based on the use of a gift certificate and the items ordered.

Restaurant Tab Calculation Program