COP 1000c Lab Assignment 7

profileamunoz1030
GaddisPythonChapter2InputProcessingandOutput.ppt

Copyright © 2018 Pearson Education, Inc.

C H A P T E R 2

Input, Processing, and Output

Copyright © 2018 Pearson Education, Inc.

Topics

  • Designing a Program
  • Input, Processing, and Output
  • Displaying Output with print Function
  • Comments
  • Variables
  • Reading Input from the Keyboard
  • Performing Calculations
  • More About Data Output
  • Named Constants
  • Introduction to Turtle Graphics

Copyright © 2018 Pearson Education, Inc.

Designing a Program

  • Programs must be designed before they are written
  • Program development cycle:
  • Design the program
  • Write the code
  • Correct syntax errors
  • Test the program
  • Correct logic errors

Copyright © 2018 Pearson Education, Inc.

Designing a Program (cont’d.)

  • Design is the most important part of the program development cycle
  • Understand the task that the program is to perform
  • Work with customer to get a sense what the program is supposed to do
  • Ask questions about program details
  • Create one or more software requirements

Copyright © 2018 Pearson Education, Inc.

Designing a Program (cont’d.)

  • Determine the steps that must be taken to perform the task
  • Break down required task into a series of steps
  • Create an algorithm, listing logical steps that must be taken
  • Algorithm: set of well-defined logical steps that must be taken to perform a task

Copyright © 2018 Pearson Education, Inc.

Pseudocode

  • Pseudocode: fake code
  • Informal language that has no syntax rule
  • Not meant to be compiled or executed
  • Used to create model program
  • No need to worry about syntax errors, can focus on program’s design
  • Can be translated directly into actual code in any programming language

Copyright © 2018 Pearson Education, Inc.

Flowcharts

  • Flowchart: diagram that graphically depicts the steps in a program
  • Ovals are terminal symbols
  • Parallelograms are input and output symbols
  • Rectangles are processing symbols
  • Symbols are connected by arrows that represent the flow of the program

Copyright © 2018 Pearson Education, Inc.

Copyright © 2018 Pearson Education, Inc.

Input, Processing, and Output

  • Typically, computer performs three-step process
  • Receive input
  • Input: any data that the program receives while it is running
  • Perform some process on the input
  • Example: mathematical calculation
  • Produce output

Copyright © 2018 Pearson Education, Inc.

Displaying Output with the print Function

  • Function: piece of prewritten code that performs an operation
  • print function: displays output on the screen
  • Argument: data given to a function
  • Example: data that is printed to screen
  • Statements in a program execute in the order that they appear
  • From top to bottom

Copyright © 2018 Pearson Education, Inc.

Strings and String Literals

  • String: sequence of characters that is used as data
  • String literal: string that appears in actual code of a program
  • Must be enclosed in single (') or double (") quote marks
  • String literal can be enclosed in triple quotes (''' or """)
  • Enclosed string can contain both single and double quotes and can have multiple lines

Copyright © 2018 Pearson Education, Inc.

Comments

  • Comments: notes of explanation within a program
  • Ignored by Python interpreter
  • Intended for a person reading the program’s code
  • Begin with a # character
  • End-line comment: appears at the end of a line of code
  • Typically explains the purpose of that line

Copyright © 2018 Pearson Education, Inc.

Variables

  • Variable: name that represents a value stored in the computer memory
  • Used to access and manipulate data stored in memory
  • A variable references the value it represents
  • Assignment statement: used to create a variable and make it reference data
  • General format is variable = expression
  • Example: age = 29
  • Assignment operator: the equal sign (=)

Copyright © 2018 Pearson Education, Inc.

Variables (cont’d.)

  • In assignment statement, variable receiving value must be on left side
  • A variable can be passed as an argument to a function
  • Variable name should not be enclosed in quote marks
  • You can only use a variable if a value is assigned to it

Copyright © 2018 Pearson Education, Inc.

Variable Naming Rules

  • Rules for naming variables in Python:
  • Variable name cannot be a Python key word
  • Variable name cannot contain spaces
  • First character must be a letter or an underscore
  • After first character may use letters, digits, or underscores
  • Variable names are case sensitive
  • Variable name should reflect its use

Copyright © 2018 Pearson Education, Inc.

Displaying Multiple Items with the print Function

  • Python allows one to display multiple items with a single call to print
  • Items are separated by commas when passed as arguments
  • Arguments displayed in the order they are passed to the function
  • Items are automatically separated by a space when displayed on screen

Copyright © 2018 Pearson Education, Inc.

Variable Reassignment

  • Variables can reference different values while program is running
  • Garbage collection: removal of values that are no longer referenced by variables
  • Carried out by Python interpreter
  • A variable can refer to item of any type
  • Variable that has been assigned to one type can be reassigned to another type

Copyright © 2018 Pearson Education, Inc.

Numeric Data Types, Literals, and the str Data Type

  • Data types: categorize value in memory
  • e.g., int for integer, float for real number, str used for storing strings in memory
  • Numeric literal: number written in a program
  • No decimal point considered int, otherwise, considered float
  • Some operations behave differently depending on data type

Copyright © 2018 Pearson Education, Inc.

Reassigning a Variable to a Different Type

  • A variable in Python can refer to items of any type

Copyright © 2018 Pearson Education, Inc.

Reading Input from the Keyboard

  • Most programs need to read input from the user
  • Built-in input function reads input from keyboard
  • Returns the data as a string
  • Format: variable = input(prompt)
  • prompt is typically a string instructing user to enter a value
  • Does not automatically display a space after the prompt

Copyright © 2018 Pearson Education, Inc.

Reading Numbers with the input Function

  • input function always returns a string
  • Built-in functions convert between data types
  • int(item) converts item to an int
  • float(item) converts item to a float
  • Nested function call: general format: function1(function2(argument))
  • value returned by function2 is passed to function1
  • Type conversion only works if item is valid numeric value, otherwise, throws exception

Copyright © 2018 Pearson Education, Inc.

Performing Calculations

  • Math expression: performs calculation and gives a value
  • Math operator: tool for performing calculation
  • Operands: values surrounding operator
  • Variables can be used as operands
  • Resulting value typically assigned to variable
  • Two types of division:
  • / operator performs floating point division
  • // operator performs integer division
  • Positive results truncated, negative rounded away from zero

Copyright © 2018 Pearson Education, Inc.

Operator Precedence and Grouping with Parentheses

  • Python operator precedence:

Operations enclosed in parentheses

  • Forces operations to be performed before others

Exponentiation (**)

Multiplication (*), division (/ and //), and remainder (%)

Addition (+) and subtraction (-)

  • Higher precedence performed first
  • Same precedence operators execute from left to right

Copyright © 2018 Pearson Education, Inc.

The Exponent Operator and the Remainder Operator

  • Exponent operator (**): Raises a number to a power
  • x ** y = xy
  • Remainder operator (%): Performs division and returns the remainder
  • a.k.a. modulus operator
  • e.g., 4%2=0, 5%2=1
  • Typically used to convert times and distances, and to detect odd or even numbers

Copyright © 2018 Pearson Education, Inc.

Converting Math Formulas to Programming Statements

  • Operator required for any mathematical operation
  • When converting mathematical expression to programming statement:
  • May need to add multiplication operators
  • May need to insert parentheses

Copyright © 2018 Pearson Education, Inc.

Mixed-Type Expressions and Data Type Conversion

  • Data type resulting from math operation depends on data types of operands
  • Two int values: result is an int
  • Two float values: result is a float
  • int and float: int temporarily converted to float, result of the operation is a float
  • Mixed-type expression
  • Type conversion of float to int causes truncation of fractional part

Copyright © 2018 Pearson Education, Inc.

Breaking Long Statements into Multiple Lines

  • Long statements cannot be viewed on screen without scrolling and cannot be printed without cutting off
  • Multiline continuation character (\): Allows to break a statement into multiple lines

result = var1 * 2 + var2 * 3 + \

var3 * 4 + var4 * 5

Copyright © 2018 Pearson Education, Inc.

Breaking Long Statements into Multiple Lines

  • Any part of a statement that is enclosed in parentheses can be broken without the line continuation character.

print("Monday's sales are", monday,

"and Tuesday's sales are", tuesday,

"and Wednesday's sales are", Wednesday)

total = (value1 + value2 +

value3 + value4 +

value5 + value6)

Copyright © 2018 Pearson Education, Inc.

More About Data Output

  • print function displays line of output
  • Newline character at end of printed data
  • Special argument end='delimiter' causes print to place delimiter at end of data instead of newline character
  • print function uses space as item separator
  • Special argument sep='delimiter' causes print to use delimiter as item separator

Copyright © 2018 Pearson Education, Inc.

More About Data Output (cont’d.)

  • Special characters appearing in string literal
  • Preceded by backslash (\)
  • Examples: newline (\n), horizontal tab (\t)
  • Treated as commands embedded in string
  • When + operator used on two strings in performs string concatenation
  • Useful for breaking up a long string literal

Copyright © 2018 Pearson Education, Inc.

Formatting Numbers

  • Can format display of numbers on screen using built-in format function
  • Two arguments:
  • Numeric value to be formatted
  • Format specifier
  • Returns string containing formatted number
  • Format specifier typically includes precision and data type
  • Can be used to indicate scientific notation, comma separators, and the minimum field width used to display the value

Copyright © 2018 Pearson Education, Inc.

Formatting Numbers (cont’d.)

  • The % symbol can be used in the format string of format function to format number as percentage
  • To format an integer using format function:
  • Use d as the type designator
  • Do not specify precision
  • Can still use format function to set field width or comma separator

Copyright © 2018 Pearson Education, Inc.

Magic Numbers

  • A magic number is an unexplained numeric value that appears in a program’s code. Example:
    amount = balance * 0.069
  • What is the value 0.069? An interest rate? A fee percentage? Only the person who wrote the code knows for sure.

Copyright © 2018 Pearson Education, Inc.

The Problem with Magic Numbers

  • It can be difficult to determine the purpose of the number.
  • If the magic number is used in multiple places in the program, it can take a lot of effort to change the number in each location, should the need arise.
  • You take the risk of making a mistake each time you type the magic number in the program’s code.
  • For example, suppose you intend to type 0.069, but you accidentally type .0069. This mistake will cause mathematical errors that can be difficult to find.

Copyright © 2018 Pearson Education, Inc.

Named Constants

  • You should use named constants instead of magic numbers.
  • A named constant is a name that represents a value that does not change during the program's execution.
  • Example:
    INTEREST_RATE = 0.069
  • This creates a named constant named INTEREST_RATE, assigned the value 0.069. It can be used instead of the magic number:

    amount = balance * INTEREST_RATE

Copyright © 2018 Pearson Education, Inc.

Advantages of Using Named Constants

  • Named constants make code self-explanatory (self-documenting)
  • Named constants make code easier to maintain (change the value assigned to the constant, and the new value takes effect everywhere the constant is used)
  • Named constants help prevent typographical errors that are common when using magic numbers

Copyright © 2018 Pearson Education, Inc.

Introduction to Turtle Graphics

  • Python's turtle graphics system displays a small cursor known as a turtle.




  • You can use Python statements to move the turtle around the screen, drawing lines and shapes.

Copyright © 2018 Pearson Education, Inc.

Introduction to Turtle Graphics

  • To use the turtle graphics system, you must import the turtle module with this statement:
    import turtle

    This loads the turtle module into memory

Copyright © 2018 Pearson Education, Inc.

Moving the Turtle Forward

  • Use the turtle.forward(n) statement to move the turtle forward n pixels.

>>> import turtle

>>> turtle.forward(100)

>>>

Copyright © 2018 Pearson Education, Inc.

Turning the Turtle

  • The turtle's initial heading is 0 degrees (east)
  • Use the turtle.right(angle) statement to turn the turtle right by angle degrees.
  • Use the turtle.left(angle) statement to turn the turtle left by angle degrees.

Copyright © 2018 Pearson Education, Inc.

Turning the Turtle

>>> import turtle

>>> turtle.forward(100)

>>> turtle.left(90)

>>> turtle.forward(100)

>>>

Copyright © 2018 Pearson Education, Inc.

Turning the Turtle

>>> import turtle

>>> turtle.forward(100)

>>> turtle.right(45)

>>> turtle.forward(100)

>>>

Copyright © 2018 Pearson Education, Inc.

Setting the Turtle's Heading

  • Use the turtle.setheading(angle) statement to set the turtle's heading to a specific angle.

>>> import turtle

>>> turtle.forward(50)

>>> turtle.setheading(90)

>>> turtle.forward(100)

>>> turtle.setheading(180)

>>> turtle.forward(50)

>>> turtle.setheading(270)

>>> turtle.forward(100)

>>>

Copyright © 2018 Pearson Education, Inc.

Setting the Pen Up or Down

  • When the turtle's pen is down, the turtle draws a line as it moves. By default, the pen is down.
  • When the turtle's pen is up, the turtle does not draw as it moves.
  • Use the turtle.penup() statement to raise the pen.
  • Use the turtle.pendown() statement to lower the pen.

Copyright © 2018 Pearson Education, Inc.

Setting the Pen Up or Down

>>> import turtle

>>> turtle.forward(50)

>>> turtle.penup()

>>> turtle.forward(25)

>>> turtle.pendown()

>>> turtle.forward(50)

>>> turtle.penup()

>>> turtle.forward(25)

>>> turtle.pendown()

>>> turtle.forward(50)

>>>

Copyright © 2018 Pearson Education, Inc.

Drawing Circles

  • Use the turtle.circle(radius) statement to draw a circle with a specified radius.

>>> import turtle

>>> turtle.circle(100)

>>>

Copyright © 2018 Pearson Education, Inc.

Drawing Dots

  • Use the turtle.dot() statement to draw a simple dot at the turtle's current location.

>>> import turtle

>>> turtle.dot()

>>> turtle.forward(50)

>>> turtle.dot()

>>> turtle.forward(50)

>>> turtle.dot()

>>> turtle.forward(50)

>>>

Copyright © 2018 Pearson Education, Inc.

Changing the Pen Size and Drawing Color

  • Use the turtle.pensize(width) statement to change the width of the turtle's pen, in pixels.
  • Use the turtle.pencolor(color) statement to change the turtle's drawing color.
  • See Appendix D in your textbook for a complete list of colors.

>>> import turtle

>>> turtle.pensize(5)

>>> turtle.pencolor('red')

>>> turtle.circle(100)

>>>

Copyright © 2018 Pearson Education, Inc.

Working with the Turtle's Window

  • Use the turtle.bgcolor(color) statement to set the window's background color.
  • See Appendix D in your textbook for a complete list of colors.
  • Use the turtle.setup(width, height) statement to set the size of the turtle's window, in pixels.
  • The width and height arguments are the width and height, in pixels.
  • For example, the following interactive session creates a graphics window that is 640 pixels wide and 480 pixels high:

>>> import turtle

>>> turtle.setup(640, 480)

>>>

Copyright © 2018 Pearson Education, Inc.

Resetting the Turtle's Window

  • The turtle.reset() statement:
  • Erases all drawings that currently appear in the graphics window.
  • Resets the drawing color to black.
  • Resets the turtle to its original position in the center of the screen.
  • Does not reset the graphics window’s background color.
  • The turtle.clear() statement:
  • Erases all drawings that currently appear in the graphics window.
  • Does not change the turtle's position.
  • Does not change the drawing color.
  • Does not change the graphics window’s background color.
  • The turtle.clearscreen() statement:
  • Erases all drawings that currently appear in the graphics window.
  • Resets the drawing color to black.
  • Resets the turtle to its original position in the center of the screen.
  • Resets the graphics window’s background color to white.


Copyright © 2018 Pearson Education, Inc.

Working with Coordinates

  • The turtle uses Cartesian Coordinates

Copyright © 2018 Pearson Education, Inc.

Moving the Turtle to a Specific Location

  • Use the turtle.goto(x, y) statement to move the turtle to a specific location.

>>> import turtle

>>> turtle.goto(0, 100)

>>> turtle.goto(−100, 0)

>>> turtle.goto(0, 0)

>>>

  • The turtle.pos() statement displays the turtle's current X,Y coordinates.
  • The turtle.xcor() statement displays the turtle's current X coordinate and the turtle.ycor() statement displays the turtle's current Y coordinate.

Copyright © 2018 Pearson Education, Inc.

Animation Speed

  • Use the turtle.speed(speed) command to change the speed at which the turtle moves.
  • The speed argument is a number in the range of 0 through 10.
  • If you specify 0, then the turtle will make all of its moves instantly (animation is disabled).

Copyright © 2018 Pearson Education, Inc.

Hiding and Displaying the Turtle

  • Use the turtle.hideturtle() command to hide the turtle.
  • This command does not change the way graphics are drawn, it simply hides the turtle icon.
  • Use the turtle.showturtle() command to display the turtle.

Copyright © 2018 Pearson Education, Inc.

Displaying Text

  • Use the turtle.write(text) statement to display text in the turtle's graphics window.
  • The text argument is a string that you want to display.
  • The lower-left corner of the first character will be positioned at the turtle’s X and Y coordinates.

Copyright © 2018 Pearson Education, Inc.

Displaying Text

>>> import turtle

>>> turtle.write('Hello World')

>>>

Copyright © 2018 Pearson Education, Inc.

Filling Shapes

  • To fill a shape with a color:
  • Use the turtle.begin_fill() command before drawing the shape
  • Then use the turtle.end_fill() command after the shape is drawn.
  • When the turtle.end_fill() command executes, the shape will be filled with the current fill color

Copyright © 2018 Pearson Education, Inc.

Filling Shapes

>>> import turtle

>>> turtle.hideturtle()

>>> turtle.fillcolor('red')

>>> turtle.begin_fill()

>>> turtle.circle(100)

>>> turtle.end_fill()

>>>

Copyright © 2018 Pearson Education, Inc.

Keeping the Graphics Window Open

  • When running a turtle graphics program outside IDLE, the graphics window closes immediately when the program is done.
  • To prevent this, add the turtle.done() statement to the very end of your turtle graphics programs.
  • This will cause the graphics window to remain open, so you can see its contents after the program finishes executing.

Copyright © 2018 Pearson Education, Inc.

Summary

  • This chapter covered:
  • The program development cycle, tools for program design, and the design process
  • Ways in which programs can receive input, particularly from the keyboard
  • Ways in which programs can present and format output
  • Use of comments in programs
  • Uses of variables and named constants
  • Tools for performing calculations in programs
  • The turtle graphics system