𝔖 Scriptorium
✦   LIBER   ✦

📁

Python and Algorithmic Thinking for the Complete Beginner: Learn to Think Like a Programmer

✍ Scribed by Aristides S. Bouras


Publisher
Independently Published
Year
2024
Tongue
English
Leaves
648
Edition
3
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Completely updated for the latest version of Python, this book offers a comprehensive introduction to programming, assuming no prior knowledge of the subject. It is designed for individuals eager to learn Python from scratch, providing a strong foundation in Algorithmic Thinking—the fundamental skill every aspiring programmer must acquire. Algorithmic Thinking encompasses more than just writing code; it entails mastering the art of problem-solving through coding.
This edition retains all the popular features of its predecessor while introducing a wealth of new exercises, along with extensive revisions and updates. Furthermore, brand-new chapters offer a practical introduction to working with text files.
Structured for both classroom use and independent study, each chapter is concluded with a set of questions and exercises designed to reinforce your understanding and apply what you've learned. With approximately 250 solved and 480 unsolved exercises, 500 true/false questions, 150 multiple-choice questions, and 200 review questions and crosswords (with solutions and answers available online), this book is ideal for
Novices or intermediate-level programmers pursuing self-study
High school students
First-years college or university students
Educators
Professors
Anyone who wants to start learning or teaching computer programming using the best practices and techniques

✦ Table of Contents


Table of Contents
Preface
About the Author
Acknowledgments
How This Book is Organized
Who Should Buy This Book?
Conventions Used in This Book
How to Report Errata
Where to Download Material About this Book
If you Like this Book
Part I Introductory Knowledge
Chapter 1 How a Computer Works
1.1 Introduction
1.2 What is Hardware?
1.3 What is Software?
1.4 How a Computer Executes (Runs) a Program
1.5 Compilers and Interpreters
1.6 What is Source Code?
1.7 Review Questions: True/False
1.8 Review Questions: Multiple Choice
Chapter 2 Python and Integrated Development Environments
2.1 What is Python?
2.2 What is the Difference Between a Script and a Program?
2.3 Why You Should Learn Python
2.4 How Python Works
2.5 Integrated Development Environments
2.6 IDLE
2.7 Microsoft Visual Studio
Chapter 3 Software Packages to Install
3.1 What to Install
Review in “Introductory Knowledge”
Review Crossword Puzzles
Review Questions
Part II Getting Started with Python
Chapter 4 Introduction to Basic Algorithmic Concepts
4.1 What is an Algorithm?
4.2 The Algorithm for Making a Cup of Tea
4.3 Properties of an Algorithm
4.4 Okay About Algorithms. But What is a Computer Program Anyway?
4.5 The Three Parties!
4.6 The Three Main Stages Involved in Creating an Algorithm
4.7 Flowcharts
Exercise 4.7-1 Finding the Average Value of Three Numbers
4.8 What are ”Reserved Words”?
4.9 What is the Difference Between a Statement and a Command?
4.10 What is Structured Programming?
4.11 The Three Fundamental Control Structures
Exercise 4.11-1 Understanding Control Structures Using Flowcharts
4.12 Your First Python Program
4.13 What is the Difference Between a Syntax Error, a Logic Error, and a Runtime Error?
4.14 What “Debugging” Means
4.15 Commenting Your Code
4.16 User-Friendly Programs
4.17 Review Questions: True/False
4.18 Review Questions: Multiple Choice
Chapter 5 Variables and Constants
5.1 What is a Variable?
5.2 What is a Constant?
5.3 How Many Types of Variables and Constants Exist?
5.4 Rules and Conventions for Naming Variables and Constants in Python
5.5 What Does the Phrase “Declare a Variable” Mean?
5.6 How to Declare Variables in Python
5.7 How to Declare Constants in Python
5.8 Review Questions: True/False
5.9 Review Questions: Multiple Choice
5.10 Review Exercises
Chapter 6 Handling Input and Output
6.1 How to Output Messages and Results to a User's Screen?
6.2 How to Alter the Default Behavior of a print Statement?
6.3 How to Prompt the User to Enter Data?
6.4 Review Questions: True/False
6.5 Review Questions: Multiple Choice
Chapter 7 Operators
7.1 The Value Assignment Operator
7.2 Arithmetic Operators
7.3 What is the Precedence of Arithmetic Operators?
7.4 Compound Assignment Operators
Exercise 7.4-1 Which Python Statements are Syntactically Correct?
Exercise 7.4-2 Finding Variable Types
7.5 String Operators
Exercise 7.5-1 Concatenating Names
7.6 Review Questions: True/False
7.7 Review Questions: Multiple Choice
7.8 Review Exercises
Chapter 8 Trace Tables
8.1 What is a Trace Table?
Exercise 8.1-1 Creating a Trace Table
Exercise 8.1-2 Creating a Trace Table
Exercise 8.1-3 Swapping Values of Variables
Exercise 8.1-4 Swapping Values of Variables – An Alternative Approach
8.2 Review Questions: True/False
8.3 Review Exercises
Chapter 9 Using IDLE or Visual Studio Code
9.1 Write, Execute and Debug Python Programs
Review in “Getting Started with Python”
Review Crossword Puzzles
Review Questions
Part III Sequence Control Structures
Chapter 10 Introduction to Sequence Control Structures
10.1 What is the Sequence Control Structure?
Exercise 10.1-1 Calculating the Area of a Rectangle
Exercise 10.1-2 Calculating the Area of a Circle
Exercise 10.1-3 Where is the Car? Calculating Distance Traveled
Exercise 10.1-4 Kelvin to Fahrenheit
Exercise 10.1-5 Calculating Sales Tax
Exercise 10.1-6 Calculating a Sales Discount
Exercise 10.1-7 Calculating a Sales Discount and Tax
10.2 Review Exercises
Chapter 11 Manipulating Numbers
11.1 Introduction
11.2 Useful Mathematical Functions (Subprograms), and More
Exercise 11.2-1 Calculating the Distance Between Two Points
Exercise 11.2-2 How Far Did the Car Travel?
11.3 Review Questions: True/False
11.4 Review Questions: Multiple Choice
11.5 Review Exercises
Chapter 12 Complex Mathematical Expressions
12.1 Writing Complex Mathematical Expressions
Exercise 12.1-1 Representing Mathematical Expressions in Python
Exercise 12.1-2 Writing a Mathematical Expression in Python
Exercise 12.1-3 Writing a Complex Mathematical Expression in Python
12.2 Review Exercises
Chapter 13 Exercises With a Quotient and a Remainder
13.1 Introduction
Exercise 13.1-1 Calculating the Quotient and Remainder of Integer Division
Exercise 13.1-2 Finding the Sum of Digits
Exercise 13.1-3 Displaying an Elapsed Time
Exercise 13.1-4 Reversing a Number
13.2 Review Exercises
Chapter 14 Manipulating Strings
14.1 Introduction
14.2 The Position of a Character in a String
14.3 Useful String Functions/Methods (Subprograms), and More
Exercise 14.3-1 Displaying a String Backwards
Exercise 14.3-2 Switching the Order of Names
Exercise 14.3-3 Creating a Login ID
Exercise 14.3-4 Creating a Random Word
Exercise 14.3-5 Finding the Sum of Digits
14.4 Review Questions: True/False
14.5 Review Questions: Multiple Choice
14.6 Review Exercises
Review in “Sequence Control Structures”
Review Crossword Puzzle
Review Questions
Part IV Decision Control Structures
Chapter 15 Making Questions
15.1 Introduction
15.2 What is a Boolean Expression?
15.3 How to Write Simple Boolean Expressions
Exercise 15.3-1 Filling in the Table
15.4 Logical Operators and Complex Boolean Expressions
Exercise 15.4-1 Calculating the Results of Complex Boolean Expressions
15.5 Python's Membership Operators
15.6 Assigning the Result of a Boolean Expression to a Variable
15.7 What is the Order of Precedence of Logical Operators?
Exercise 15.7-1 Filling in the Truth Table
Exercise 15.7-2 Converting English Sentences to Boolean Expressions
15.8 What is the Order of Precedence of Arithmetic, Comparison, Membership, and Logical Operators?
15.9 How to Negate Boolean Expressions
Exercise 15.9-1 Negating Boolean Expressions
15.10 Review Questions: True/False
15.11 Review Questions: Multiple Choice
15.12 Review Exercises
Chapter 16 The Single-Alternative Decision Structure
16.1 The Single-Alternative Decision Structure
Exercise 16.1-1 Trace Tables and Single-Alternative Decision Structures
Exercise 16.1-2 The Absolute Value of a Number
16.2 Review Questions: True/False
16.3 Review Questions: Multiple Choice
16.4 Review Exercises
Chapter 17 The Dual-Alternative Decision Structure
17.1 The Dual-Alternative Decision Structure
Exercise 17.1-1 Finding the Output Message
Exercise 17.1-2 Trace Tables and Dual-Alternative Decision Structures
Exercise 17.1-3 Who is the Greatest?
Exercise 17.1-4 Finding Odd and Even Numbers
Exercise 17.1-5 Weekly Wages
17.2 Review Questions: True/False
17.3 Review Questions: Multiple Choice
17.4 Review Exercises
Chapter 18 The Multiple-Alternative Decision Structure
18.1 The Multiple-Alternative Decision Structure
Exercise 18.1-1 Trace Tables and Multiple-Alternative Decision Structures
Exercise 18.1-2 The Days of the Week
Exercise 18.1-3 Counting the Digits
18.2 Review Questions: True/False
18.3 Review Exercises
Chapter 19 Nested Decision Control Structures
19.1 What are Nested Decision Control Structures?
Exercise 19.1-1 Trace Tables and Nested Decision Control Structures
Exercise 19.1-2 Positive, Negative or Zero?
19.2 Review Questions: True/False
19.3 Review Exercises
Chapter 20 More about Flowcharts with Decision Control Structures
20.1 Introduction
20.2 Converting Python Programs to Flowcharts
Exercise 20.2-1 Designing the Flowchart
Exercise 20.2-2 Designing the Flowchart
Exercise 20.2-3 Designing the Flowchart
20.3 A Mistake That You Will Probably Make!
20.4 Converting Flowcharts to Python Programs
Exercise 20.4-1 Writing the Python Program
Exercise 20.4-2 Writing the Python Program
Exercise 20.4-3 Writing the Python Program
20.5 Review Exercises
Chapter 21 Tips and Tricks with Decision Control Structures
21.1 Introduction
21.2 Choosing a Decision Control Structure
21.3 Streamlining the Decision Control Structure
Exercise 21.3-1 “Shrinking” the Algorithm
Exercise 21.3-2 “Shrinking” the Python Program
Exercise 21.3-3 “Shrinking” the Algorithm
21.4 Logical Operators – to Use, or not to Use: That is the Question!
Exercise 21.4-1 Rewriting the Code
Exercise 21.4-2 Rewriting the Code
21.5 Merging Two or More Single-Alternative Decision Structures
Exercise 21.5-1 Merging the Decision Control Structures
Exercise 21.5-2 Merging the Decision Control Structures
21.6 Replacing Two Single-Alternative Decision Structures with a Dual-Alternative One
Exercise 21.6-1 “Merging” the Decision Control Structures
21.7 Put the Boolean Expressions Most Likely to be True First
Exercise 21.7-1 Rearranging the Boolean Expressions
21.8 Review Questions: True/False
21.9 Review Questions: Multiple Choice
21.10 Review Exercises
Chapter 22 More with Decision Control Structures
22.1 Simple Exercises with Decision Control Structures
Exercise 22.1-1 Is it an Integer?
Exercise 22.1-2 Validating Data Input and Finding Odd and Even Numbers
Exercise 22.1-3 Where is the Tollkeeper?
Exercise 22.1-4 The Most Scientific Calculator Ever!
Exercise 22.1-5 Converting Gallons to Liters, and Vice Versa
Exercise 22.1-6 Converting Gallons to Liters, and Vice Versa (with Data Validation)
22.2 Finding Minimum and Maximum Values with Decision Control Structures
Exercise 22.2-1 Finding the Name of the Heaviest Person
22.3 Decision Control Structures in Solving Mathematical Problems
Exercise 22.3-1 Finding the Value of y
Exercise 22.3-2 Finding the Values of y
Exercise 22.3-3 Solving the Linear Equation ax + b = 0
Exercise 22.3-4 Solving the Quadratic Equation ax2 + bx + c = 0
22.4 Exercises with Series of Consecutive Ranges of Values
Exercise 22.4-1 Calculating the Discount
Exercise 22.4-2 Validating Data Input and Calculating the Discount
Exercise 22.4-3 Sending a Parcel
Exercise 22.4-4 Finding the Values of y
Exercise 22.4-5 Progressive Rates and Electricity Consumption
Exercise 22.4-6 Progressive Rates and Text Messaging Services
22.5 Exercises of a General Nature with Decision Control Structures
Exercise 22.5-1 Finding a Leap Year
Exercise 22.5-2 Displaying the Days of the Month
Exercise 22.5-3 Checking for Proper Capitalization and Punctuation
Exercise 22.5-4 Is the Number a Palindrome?
22.6 Boolean Expressions Reference and Handy Tips
22.7 Review Exercises
Review in “Decision Control Structures”
Review Crossword Puzzle
Review Questions
Part V Loop Control Structures
Chapter 23 Introduction to Loop Control Structures
23.1 What is a Loop Control Structure?
23.2 From Sequence Control to Loop Control Structures
23.3 Review Questions: True/False
Chapter 24 Pre-Test, Mid-Test and Post-Test Loop Structures
24.1 The Pre-Test Loop Structure
Exercise 24.1-1 Designing the Flowchart and Counting the Total Number of Iterations
Exercise 24.1-2 Counting the Total Number of Iterations
Exercise 24.1-3 Counting the Total Number of Iterations
Exercise 24.1-4 Counting the Total Number of Iterations
Exercise 24.1-5 Finding the Sum of Four Numbers
Exercise 24.1-6 Finding the Sum of Odd Numbers
Exercise 24.1-7 Finding the Sum of N Numbers
Exercise 24.1-8 Finding the Sum of an Unknown Quantity of Numbers
Exercise 24.1-9 Finding the Product of 20 Numbers
24.2 The Post-Test Loop Structure
Exercise 24.2-1 Designing the Flowchart and Counting the Total Number of Iterations
Exercise 24.2-2 Counting the Total Number of Iterations
Exercise 24.2-3 Designing the Flowchart and Counting the Total Number of Iterations
Exercise 24.2-4 Counting the Total Number of Iterations
Exercise 24.2-5 Finding the Product of N Numbers
24.3 The Mid-Test Loop Structure
Exercise 24.3-1 Designing the Flowchart and Counting the Total Number of Iterations
24.4 Review Questions: True/False
24.5 Review Questions: Multiple Choice
24.6 Review Exercises
Chapter 25 Definite Loops
25.1 The for statement
Exercise 25.1-1 Creating the Trace Table
Exercise 25.1-2 Creating the Trace Table
Exercise 25.1-3 Counting the Total Number of Iterations
Exercise 25.1-4 Finding the Sum of Four Numbers
Exercise 25.1-5 Finding the Square Roots from 0 to N
Exercise 25.1-6 Finding the Sum of 1 + 2 + 3 + … + 100
Exercise 25.1-7 Finding the Product of 2 × 4 × 6 × 8 × 10
Exercise 25.1-8 Finding the Sum of 22 + 42 + 62 + … (2N)2
Exercise 25.1-9 Finding the Sum of 33 + 66 + 99 + … (3N)3N
Exercise 25.1-10 Finding the Average Value of Positive Numbers
Exercise 25.1-11 Counting the Vowels
25.2 Rules that Apply to For-Loops
Exercise 25.2-1 Finding the Sum of N Numbers
25.3 Review Questions: True/False
25.4 Review Questions: Multiple Choice
25.5 Review Exercises
Chapter 26 Nested Loop Control Structures
26.1 What is a Nested Loop?
Exercise 26.1-1 Say “Hello Zeus”. Counting the Total Number of Iterations.
Exercise 26.1-2 Creating the Trace Table
26.2 Rules that Apply to Nested Loops
Exercise 26.2-1 Violating the First Rule
Exercise 26.2-2 Violating the Second Rule
26.3 Review Questions: True/False
26.4 Review Questions: Multiple Choice
26.5 Review Exercises
Chapter 27 More about Flowcharts with Loop Control Structures
27.1 Introduction
27.2 Converting Python Programs to Flowcharts
Exercise 27.2-1 Designing the Flowchart
Exercise 27.2-2 Designing the Flowchart
Exercise 27.2-3 Designing the Flowchart
Exercise 27.2-4 Designing the Flowchart
Exercise 27.2-5 Designing the Flowchart
27.3 Converting Flowcharts to Python Programs
Exercise 27.3-1 Writing the Python Program
Exercise 27.3-2 Writing the Python Program
Exercise 27.3-3 Writing the Python Program
Exercise 27.3-4 Writing the Python Program
27.4 Review Exercises
Chapter 28 Tips and Tricks with Loop Control Structures
28.1 Introduction
28.2 Choosing a Loop Control Structure
28.3 The “Ultimate” Rule
28.4 Breaking Out of a Loop
28.5 Cleaning Out Your Loops
Exercise 28.5-1 Cleaning Out the Loop
Exercise 28.5-2 Cleaning Out the Loop
28.6 Endless Loops and How to Stop Them
28.7 The “From Inner to Outer” Method
28.8 Review Questions: True/False
28.9 Review Questions: Multiple Choice
28.10 Review Exercises
Chapter 29 More with Loop Control Structures
29.1 Simple Exercises with Loop Control Structures
Exercise 29.1-1 Counting the Numbers According to Which is Greater
Exercise 29.1-2 Counting the Numbers According to Their Digits
Exercise 29.1-3 How Many Numbers Fit in a Sum
Exercise 29.1-4 Finding the Total Number of Positive Integers
Exercise 29.1-5 Iterating as Many Times as the User Wishes
Exercise 29.1-6 Finding the Sum of the Digits
29.2 Exercises with Nested Loop Control Structures
Exercise 29.2-1 Displaying all Three-Digit Integers that Contain a Given Digit
Exercise 29.2-2 Displaying all Instances of a Specified Condition
29.3 Data Validation with Loop Control Structures
Exercise 29.3-1 Finding Odd and Even Numbers - Validation Without Error Messages
Exercise 29.3-2 Finding the Sum of Four Numbers
29.4 Finding Minimum and Maximum Values with Loop Control Structures
Exercise 29.4-1 Validating and Finding the Minimum and the Maximum Value
Exercise 29.4-2 Validating and Finding the Hottest Planet
Exercise 29.4-3 ”Making the Grade”
29.5 Using Loop Control Structures to Solve Mathematical Problems
Exercise 29.5-1 Calculating the Area of as Many Triangles as the User Wishes
Exercise 29.5-2 Finding x and y
Exercise 29.5-3 The Russian Multiplication Algorithm
Exercise 29.5-4 Finding the Number of Divisors
Exercise 29.5-5 Is the Number a Prime?
Exercise 29.5-6 Finding all Prime Numbers from 1 to N
Exercise 29.5-7 Heron's Square Root
Exercise 29.5-8 Calculating π
Exercise 29.5-9 Approximating a Real with a Fraction
29.6 Exercises of a General Nature with Loop Control Structures
Exercise 29.6-1 Fahrenheit to Kelvin, from 0 to 100
Exercise 29.6-2 Rice on a Chessboard
Exercise 29.6-3 Just a Poll
Exercise 29.6-4 Is the Message a Palindrome?
29.7 Review Questions: True/False
29.8 Review Exercises
Review in “Loop Control Structures”
Review Crossword Puzzle
Review Questions
Part VI Data Structures in Python
Chapter 30 One-Dimensional Lists and Dictionaries
30.1 Introduction
30.2 What is a List?
Exercise 30.2-1 Designing a List
Exercise 30.2-2 Designing Lists
Exercise 30.2-3 Designing Lists
30.3 Creating One-Dimensional Lists in Python
30.4 How to Get Values from a One-Dimensional List
Exercise 30.4-1 Creating the Trace Table
Exercise 30.4-2 Using a Non-Existing Index
30.5 How to Alter the Value of a List Element
30.6 How to Iterate Through a One-Dimensional List
Exercise 30.6-1 Finding the Sum
30.7 How to Add User-Entered Values to a One-Dimensional List
Exercise 30.7-1 Displaying Words in Reverse Order
Exercise 30.7-2 Displaying Positive Numbers in Reverse Order
Exercise 30.7-3 Finding the Average Value
Exercise 30.7-4 Displaying Reals Only
Exercise 30.7-5 Displaying Elements with Odd-Numbered Indexes
Exercise 30.7-6 Displaying Even Numbers in Odd–Numbered Index Positions
30.8 More about the Concatenation and Repetition Operators
30.9 What is a Dictionary?
30.10 Creating Dictionaries in Python
30.11 How to Get a Value from a Dictionary
Exercise 30.11-1 Roman Numerals to Numbers
Exercise 30.11-2 Using a Non-Existing Key in Dictionaries
30.12 How to Alter the Value of a Dictionary Element
Exercise 30.12-1 Assigning a Value to a Non-Existing Key
30.13 How to Iterate Through a Dictionary
30.14 More about the Membership Operators
30.15 Review Questions: True/False
30.16 Review Questions: Multiple Choice
30.17 Review Exercises
Chapter 31 Two-Dimensional Lists
31.1 Creating Two-Dimensional Lists in Python
31.2 How to Get Values from Two-Dimensional Lists
Exercise 31.2-1 Creating the Trace Table
31.3 How to Iterate Through a Two-Dimensional List
31.4 How to Add User-Entered Values to a Two-Dimensional List
Exercise 31.4-1 Displaying Reals Only
Exercise 31.4-2 Displaying Odd Columns Only
31.5 What's the Story on Variables i and j?
31.6 Square Matrices
Exercise 31.6-1 Finding the Sum of the Elements on the Main Diagonal
Exercise 31.6-2 Finding the Sum of the Elements on the Antidiagonal
Exercise 31.6-3 Filling in the List
31.7 Review Questions: True/False
31.8 Review Questions: Multiple Choice
31.9 Review Exercises
Chapter 32 Tips and Tricks with Data Structures
32.1 Introduction
32.2 Processing Each Row Individually
Exercise 32.2-1 Finding the Average Value
32.3 Processing Each Column Individually
Exercise 32.3-1 Finding the Average Value
32.4 How to Use More Than One Data Structures in a Program
Exercise 32.4-1 Using Three One-Dimensional Lists
Exercise 32.4-2 Using a One-Dimensional List Along with a Two-Dimensional List
Exercise 32.4-3 Using a List Along with a Dictionary
32.5 Creating a One-Dimensional List from a Two-Dimensional List
32.6 Creating a Two-Dimensional List from a One-Dimensional List
32.7 Useful Data Structures Functions/Methods (Subprograms)
32.8 Review Questions: True/False
32.9 Review Questions: Multiple Choice
32.10 Review Exercises
Chapter 33 More with Data Structures
33.1 Simple Exercises with Lists
Exercise 33.1-1 Creating a List that Contains the Average Values of its Neighboring Elements
Exercise 33.1-2 Creating a List with the Greatest Values
Exercise 33.1-3 Merging One-Dimensional Lists
Exercise 33.1-4 Creating Two Lists – Separating Positive from Negative Values
Exercise 33.1-5 Creating a List with Those who Contain Digit 5
33.2 Data Validation with Lists
Exercise 33.2-1 Displaying Odds in Reverse Order
33.3 Finding Minimum and Maximum Values in Lists
Exercise 33.3-1 Which Depth is the Greatest?
Exercise 33.3-2 Which Lake is the Deepest?
Exercise 33.3-3 Which Lake, in Which Country, Having Which Average Area, is the Deepest?
Exercise 33.3-4 Which Students Have got the Greatest Grade?
Exercise 33.3-5 Finding the Minimum Value of a Two-Dimensional List
Exercise 33.3-6 Finding the City with the Coldest Day
Exercise 33.3-7 Finding the Minimum and the Maximum Value of Each Row
33.4 Sorting Lists
Exercise 33.4-1 The Bubble Sort Algorithm – Sorting One-Dimensional Lists with Numeric Values
Exercise 33.4-2 Sorting One-Dimensional Lists with Alphanumeric Values
Exercise 33.4-3 Sorting One-Dimensional Lists While Preserving the Relationship with a Second List
Exercise 33.4-4 Sorting Last and First Names
Exercise 33.4-5 Sorting a Two-Dimensional List
Exercise 33.4-6 The Modified Bubble Sort Algorithm – Sorting One-Dimensional Lists
Exercise 33.4-7 The Selection Sort Algorithm – Sorting One-Dimensional Lists
Exercise 33.4-8 Sorting One-Dimensional Lists While Preserving the Relationship with a Second List
Exercise 33.4-9 The Insertion Sort Algorithm – Sorting One-Dimensional Lists
Exercise 33.4-10 The Three Worst Elapsed Times
33.5 Searching Elements in Data Structures
Exercise 33.5-1 The Linear Search Algorithm – Searching in a One-Dimensional List that may Contain the Same Value Multiple Times
Exercise 33.5-2 Display the Last Names of All Those People Who Have the Same First Name
Exercise 33.5-3 The Linear Search Algorithm – Searching in a Two-Dimensional List that May Contain the Same Value Multiple Times
Exercise 33.5-4 The Linear Search Algorithm – Searching in a One-Dimensional List that Contains Unique Values
Exercise 33.5-5 Searching for a Social Security Number
Exercise 33.5-6 The Linear Search Algorithm – Searching in a Two-Dimensional List that Contains Unique Values
Exercise 33.5-7 Checking if a Value Exists in all Columns
Exercise 33.5-8 The Binary Search Algorithm – Searching in a Sorted One-Dimensional List
Exercise 33.5-9 Display all the Historical Events for a Country
Exercise 33.5-10 Searching in Each Column of a Two-Dimensional List
33.6 Exercises of a General Nature with Data Structures
Exercise 33.6-1 On Which Days was There a Possibility of Snow?
Exercise 33.6-2 Was There Any Possibility of Snow?
Exercise 33.6-3 In Which Cities was There a Possibility of Snow?
Exercise 33.6-4 Display from Highest to Lowest Grades by Student, and in Alphabetical Order
Exercise 33.6-5 Archery at the Summer Olympics
Exercise 33.6-6 The Five Best Scorers
Exercise 33.6-7 Counting the Frequency of Vowels
33.7 Review Questions: True/False
33.8 Review Exercises
Review in “Data Structures in Python”
Review Crossword Puzzle
Review Questions
Part VII Subprograms
Chapter 34 Introduction to Subprograms
34.1 What Exactly is a Subprogram?
34.2 What is Procedural Programming?
34.3 What is Modular Programming?
34.4 Review Questions: True/False
Chapter 35 User-Defined Subprograms
35.1 Subprograms that Return Values
35.2 How to Make a Call to a Function
35.3 Subprograms that Return no Values
35.4 How to Make a Call to a void Function
35.5 Formal and Actual Arguments
35.6 How Does a Function Execute?
Exercise 35.6-1 Back to Basics – Calculating the Sum of Two Numbers
Exercise 35.6-2 Calculating the Sum of Two Numbers Using Fewer Lines of Code!
35.7 How Does a void Function Execute?
Exercise 35.7-1 Back to Basics – Displaying the Absolute Value of a Number
35.8 Review Questions: True/False
35.9 Review Exercises
Chapter 36 Tips and Tricks with Subprograms
36.1 Can Two Subprograms use Variables of the Same Name?
36.2 Can a Subprogram Call Another Subprogram?
36.3 Passing Arguments by Value and by Reference
36.4 Returning a List
36.5 Default Argument Values (Optional Arguments) and Keyword Arguments
36.6 The Scope of a Variable
36.7 Converting Parts of Code into Subprograms
36.8 Recursion
36.9 Review Questions: True/False
36.10 Review Exercises
Chapter 37 More with Subprograms
37.1 Simple Exercises with Subprograms
Exercise 37.1-1 A Simple Currency Converter
Exercise 37.1-2 Finding the Average Values of Positive Integers
Exercise 37.1-3 Finding the Sum of Odd Positive Integers
Exercise 37.1-4 Finding the Values of y
37.2 Exercises of a General Nature with Subprograms
Exercise 37.2-1 Validating Data Input Using a Subprogram
Exercise 37.2-2 Sorting a List Using a Subprogram
Exercise 37.2-3 Progressive Rates and Electricity Consumption
Exercise 37.2-4 Roll, Roll, Roll the… Dice!
Exercise 37.2-5 How Many Times Does Each Number of the Dice Appear?
37.3 Review Exercises
Review in “Subprograms”
Review Crossword Puzzle
Review Questions
Part VIII Object-Oriented Programming
Chapter 38 Introduction to Object-Oriented Programming
38.1 What is Object-Oriented Programming?
38.2 Classes and Objects in Python
38.3 The Constructor and the Keyword self
38.4 Passing Initial Values to the Constructor
38.5 Class Fields vs Instance Fields
38.6 Getter and Setter Methods vs Properties
Exercise 38.6-1 The Roman Numerals
38.7 Can a Method Call Another Method of the Same Class?
Exercise 38.7-1 Doing Math
38.8 Class Inheritance
38.9 Review Questions: True/False
38.10 Review Exercises
Review in “Object-Oriented Programming”
Review Crossword Puzzle
Review Questions
Part IX Files
Chapter 39 Introduction to Files
39.1 Introduction
39.2 Opening a File
39.3 Closing a File
39.4 Writing in (or Appending to) a File
39.5 The File Pointer
39.6 Reading from a File
39.7 Iterating Through the Contents of a File
39.8 Review Questions: True/False
39.9 Review Exercises
Chapter 40 More with Files
40.1 Exercises of a General Nature with Files
Exercise 40.1-1 Calculating the Sum of 10 Numbers
Exercise 40.1-2 Calculating the Average Value of an Unknown Quantity of Numbers
Exercise 40.1-3 Finding Minimum and Maximum Values
Exercise 40.1-4 Concatenating Files
Exercise 40.1-5 Searching in a File
Exercise 40.1-6 Combining Files with Subprograms
40.2 Review Exercises
Review in “Files”
Review Crossword Puzzle
Review Questions
Some Final Words from the Author


📜 SIMILAR VOLUMES


Python and Algorithmic Thinking for the
✍ Aristides S Bouras, Loukia V Ainarozidou 📂 Library 📅 2015 🏛 CreateSpace 🌐 English

This book is for anyone who wants to learn computer programming and knows absolutely nothing about it. Of course, if you are wondering whether this book is going to teach you how to create amazing applets or incredible desktop or mobile applications, the answer is "no"—that is a job for other books

Python and Algorithmic Thinking for the
✍ Aristides S Bouras, Loukia V Ainarozidou 📂 Library 📅 2015 🏛 CreateSpace Independent 🌐 English

This book is for anyone who wants to learn computer programming and knows absolutely nothing about it. Of course, if you are wondering whether this book is going to teach you how to create amazing applets or incredible desktop or mobile applications, the answer is «no»—that is a job for other books.

C# and Algorithmic Thinking for the Comp
✍ Aristides S. Bouras; Loukia V. Ainarozidou 📂 Library 📅 2015 🏛 Createspace Independent Publishing Platform 🌐 English

This book is for anyone who wants to learn computer programming and knows absolutely nothing about it. Of course, if you are wondering whether this book is going to teach you how to create amazing applets or incredible desktop or mobile applications, the answer is "no"-that is a job for other books.

PHP and Algorithmic Thinking for the Com
✍ Aristides S Bouras, Loukia V Ainarozidou 📂 Library 📅 2014 🏛 CreateSpace Independent Publishing Platform 🌐 English

This book is for anyone who wants to learn computer programming and knows absolutely nothing about it. Of course, if you are wondering whether this book is going to teach you how to create amazing websites or incredible applications, the answer is "no"—that is a job for other books. So many books ou

Java and Algorithmic Thinking for the Co
✍ Aristides S Bouras, Loukia V Ainarozidou 📂 Library 📅 2015 🏛 CreateSpace 🌐 English

This book is for anyone who wants to learn computer programming and knows absolutely nothing about it. Of course, if you are wondering whether this book is going to teach you how to create amazing applets or incredible desktop or mobile applications, the answer is «no»—that is a job for other books.

PHP and Algorithmic Thinking for the Com
✍ Bouras A.S., Ainarozidou L.V. 📂 Library 🌐 English

CreateSpace Independent Publishing Platform, 2014. — 883 p. — ISBN: 9781503015913<div class="bb-sep"></div>This book is for anyone who wants to learn computer programming and knows absolutely nothing about it. Of course, if you are wondering whether this book is going to teach you how to create amaz