Introduction To Computer Programming With Python Harris Wang pdf download
Introduction To Computer Programming With Python Harris Wang pdf download
https://ebookbell.com/product/introduction-to-computer-
programming-with-python-harris-wang-55618812
https://ebookbell.com/product/an-introduction-to-programming-and-
computer-science-with-python-first-edition-clayton-cafiero-52859214
https://ebookbell.com/product/python-machine-learning-learn-python-in-
a-week-and-master-it-an-handson-introduction-to-artificial-
intelligence-coding-a-projectbased-guide-with-practical-exercises-
book-2-academy-11359930
Introduction To Computer Game Programming With Directx 80 Ian Parberry
https://ebookbell.com/product/introduction-to-computer-game-
programming-with-directx-80-ian-parberry-2214406
https://ebookbell.com/product/making-music-with-java-an-introduction-
to-computer-music-java-programming-and-the-jmusic-library-andrew-
brown-42257420
https://ebookbell.com/product/an-introduction-to-objectoriented-
programming-in-c-with-applications-in-computer-graphics-2nd-edition-
graham-m-seed-beng-4198618
https://ebookbell.com/product/introduction-to-computer-programming-
and-numerical-methods-1st-edition-xundong-jia-22787938
https://ebookbell.com/product/introduction-to-computer-programming-
and-numerical-methods-jocelyn-o-padallan-author-33406382
Introduction
to
Computer Programming
with
Python
Introduction
to
Computer Programming
with
Python
Harris Wang
Copyright © 2023 Athabasca University
1 University Drive, Athabasca, AB Canada
DOI: https://doi.org/10.15215/remix/9781998944088.01
Remix name, Remix logo, and Remix book covers are not subject to the
Creative Commons license and may not be reproduced without the prior
and express written consent of Athabasca University.
Contents
Chapter 1 Introduction
Learning Objectives
1.1 A Brief History of Computers
1.2 Fundamentals of Computing and Modern Computers
Number Systems and the Foundation of Computing
Computability and Computational Complexity
The Construction of Modern Computers
Analog Computers
Digital Computers
Mechanic-Based Components
Vacuum Tube–Based Components
Transistors
Integrated Circuits and Very Large-Scale Integrated Circuits
1.3 Programming and Programming Languages
1.4 Python Programming Language
The Development and Implementation of Python
Advantages of Python
Resources for Python and Python Education
1.5 Getting Ready to Learn Programming in Python
Installing and Setting Up the Python Programming Environment
Installing Python
Setting Up a Virtual Environment for a Python Project
Installing Jupyter Notebook
Installing Visual Studio Code
Additional Tools Supporting Software Development in Python
Buildbot
Trac
Roundup
1.6 Getting a Taste of Programming with Python
Program Interactively with Python Interactive Shell
Program with VS Code IDE
Use Jupyter Notebook Within VS Code to Program Interactively
Write Documentation in Markdown
Headings
Paragraphs
New Lines
Italic, Bold, and Strikethrough Texts
Horizontal Rules
Keyboard Keys
Unordered Lists
Ordered Lists
Definition Lists
Links
Links to Internal Sections
Images
Blockquotes
Tables
Inline Program / Script Code
Code Block
Mathematical Formulas and Expressions
To-Do List
Escape Sequence for Special Characters
Programming Interactively with Jupyter Notebook Within VS Code
Run Python Programs Outside IDE
Make the Python Program File Executable
Errors in Programs
1.7 Essentials of Problem Solving and Software Development
Design Algorithms to Solve Problems
Phases of Software System Development
Phase 1. Understand the Project
Phase 2. Analyze the Requirements to Identify Computer-Solvable
Problems and Tasks
Phase 3. Design the System
Phase 4. Implement the System
Phase 5. Test the System
Phase 6. Maintain the System
1.8 Manage Your Working Files for Software Development Projects
Set Up Git on Your Computer and Version-Control Locally
Set Up an Account on GitHub and Version-Control with Remote Repositories
Chapter Summary
Exercises
Projects
Chapter 2 Essential Building Blocks of Computer
Programs
Learning Objectives
2.1 Primary Constructs of Computer Programs in Python
Vocabulary of the Programming Language
Rules of Naming Identifiers
Python Naming Conventions
Names with Leading and/or Trailing Underscores
Rules of Scope Resolution for Identifiers
Simple Data Types
Signed Integers (int)
Float (float)
Boolean (bool)
Complex (complex)
Compound Data Types
String (str)
List
Tuple
Set
Dictionary
Object
Variables and Constants
Variables
Built-In Constants
Operators
Arithmetic Operators
Comparison Operators
Logical Operators
Bitwise Operators
Assignment Operators
Identity Operators
Sequence Operators
Membership Operator
Built-In Functions
Expressions
2.2 Higher-Level Constructs of Python Programs
Structure of Python Programs
Documentation and Comments
Simple Statements
Expression Statement
Assignment Statement
print Statement
input Statement
assert Statement
pass Statement
del Statement
return Statement
open Statement
yield Statement
raise Statement
break Statement
continue Statement
import Statement
global Statement
nonlocal Statement
help Statement
Compound Statements
Code Blocks
Rules of Indentation
Rules of Spacing
if Statement
if-else Statement
if-elif Statement
if-elif-else Statement
while Statement
for Statement
def Statement
class Statement
try-except Statement
with Statement
Chapter Summary
Exercises
Projects
Learning Objectives
After completing this chapter, you should be able to
https://en.wikipedia.org/wiki/Computer
https://www.computerhistory.org/timeline/computers/
https://www.explainthatstuff.com/historyofcomputers.html
https://www.britannica.com/technology/computer/History-of-computing
dn−1dn−2…d1d0Q or (dn−1dn−2…d1d0)Q
101 110
+ 110 − 101
______ ______
1011 001
a * rm * b * rn = a * b * rm+n
and
a * rm / b * rn = a / b * rm−n
You may have noted in the big-O notation that we have kept
only the highest-order term and have removed the constant ½
as well. This is because, with the big-O asymptotic notation,
only the scale of complexity increased when the size of the
problem increases is of interest.
In computer science, problems can be classified as P (for
polynomial), NP (for nondeterministic polynomial), NP-
complete, or NP-hard problems. A problem is said to be in P if
it can be solved using a deterministic algorithm in polynomial
time—that is, if the complexity is a big O of a polynomial. A
problem is said to be in NP if it can be solved with a
nondeterministic algorithm in polynomial time. A problem is
NP-complete if a possible solution can be quickly verified but
there is no known algorithm to find a solution in polynomial
time. A problem is NP-hard if every NP problem can be
transformed or reduced to it within polynomial time.
In the above, a deterministic algorithm refers to the one in
which, given the same input, the output would always be the
same, whereas a nondeterministic algorithm may give
different outputs even for the very same input.
The complexity of algorithms, which is closely related to the
response and processing speed of programs and computer
systems, is the concern of good programmers, especially when
dealing with resource-intensive applications. It is also an
important topic to be studied in senior or graduate courses in
computing and computer science. When writing a program or
just a function for assignments or an application, always think
about the time and space complexity and ask yourself, Is there
a better way to get the job done?
ANALOG COMPUTERS
As a computing machine, an analog computer uses the
properties of certain objects or phenomena to directly
analogize the values of variables (such as the speed of a
vehicle) of a problem to be solved. Examples of the properties
include the voltage and amperage of electricity, the number of
teeth of a gear, or even the length of a wood or metal stick.
Analog computing machines were often built for some
special purpose, with a very wide range of difficulties and
complexities. A simple analog computer could be built with
three gears for addition and subtraction. For addition, using
both operands to drive the third gear in the same direction will
yield the sum of the two operands on the third gear, whereas
for subtraction, the difference can be calculated by driving the
two gears in two different directions.
Historically, even as early as 100 BC, complicated analog
computing machines were built for various applications, from
astronomy in ancient Greece to the differential machine for
solving differential equations in the late 1800s and early
1900s. Some of the most complicated analog computing
machines in modern history include those for flight simulation
and gunfire control. Analog computing machines continued
well into the early age of modern digital computers because
the special applications analog computers were developed for
were still too hard for digital computers in the 1960s or even
1970s.
DIGITAL COMPUTERS
Different from analog computers, digital computers use
sequences of digits to represent the values of variables
involved in the problems to be solved. In digital computers,
the machine representation of a problem is often abstract,
with no analogy to the original problem.
Theoretically, in accordance with the earlier discussion
about general number systems, digital computers’ digits can
be in any base, from 2 up. Hence a digital computer could be
base-2, base-3, … base-10, base-16, and so on. The digital
computers we are using today are all base-2, or binary,
computers, although it has been proved that base-3
computers would be even more efficient than base-2
computers.
This is because it is more convenient and cheaper to build
components with the two easily distinguishable states needed
to represent base-2 numbers.
Also, in a binary system, signed numbers can be naturally
represented using the highest sign bit: 0 for positive numbers
and 1 for negative numbers, for example. Moreover, the
addition and subtraction of signed binary numbers can be
easily done by using 2’s complements to represent negative
numbers.
For example, to do −2−3, we would do
(−2) + (−3)
or
(−00000010)b + (−00000011)b
(11111110)b + (11111101)b
which is equal to
(11111011)b
The 1 on the highest bit of the result means that the result is
2’s complement representation of a negative number.
Interestingly, the magnitude of the negative number is the
complement of (11111011)b, which is
MECHANIC-BASED COMPONENTS
Mechanical components such as levels, gears, and wheels can
be used to build analog computers. In fact, digital computers
can also be built with mechanical components. The earliest
special-purpose mechanic-based digital computer was the
difference engine designed by Charles Babbage. A general-
purpose mechanic-based digital computer, called the
analytical engine, was also first proposed by Charles Babbage.
In the design, the machine has memory and CPU. It would
have been programmable and, therefore, would have become
a general-purpose digital computer, if ever actually built.
TRANSISTORS
Recall that in the construction of computers, the ALU or CPU
requires two-state switches to represent 0 and 1 and logical
gates to perform additions and subtractions of binary number
systems. Vacuum tubes could be made to construct electronic
computers, but the computers became too bulky and too
heavy to be more useful.
00000011 00000100
10001000 11000011
Then save it to a file and compile the file into Java bytecode
by running the following command, provided you have a JDK
correctly installed:
javac myhelloworld.java
INSTALLING PYTHON
The first package we need to install is Python. The steps are as
follows:
→ Install Now
C:\Users\james\AppData\Local\Programs\Python\Python311
→ Customize installation
Choose location and features
Cancel
Optional Features
☑ Documentation
Installs the Python documentation files.
☑ pip
Installs pip, which can download and install other Python packages.
Advanced Options
258: En 1041, Louis IX, plus puissant que Henri, établit, à son
retour de la croisade, une autre trève, dite la quarantaine le roi, par
laquelle il étoit défendu atout seigneur de songer à se venger de son
ennemi avant quarante jours. Depuis, et par une ordonnance datée
de Corbeil en 1257, il abolit entièrement ces sortes de guerres,
chargeant les sénéchaux de punir tous ceux qui voudroient se faire
justice par les armes; mais cette ordonnance n'atteignit encore que
les vassaux du second ordre.
260: En 1223.
268: Il les fit publier l'an de grâce 1270, avant qu'il allât à Tunis,
dans toutes les cours laies du royaume et de la prévôté de France.
Ce recueil, précieux monument de son zèle pour la tranquillité et le
bonheur de ses sujets, contient 208 articles. C'est proprement un
nouveau code composé de lois romaines, de canons des conciles, de
décrétales ou épîtres des papes, de différentes coutumes de la
monarchie, et d'ordonnances de nos rois. Il prescrivoit des formes
pour les actions réelles ou personnelles, substituoit les preuves par
témoins aux combats judiciaires, régloit les juridictions, établissoit
des lois pour les fiefs, les donations, les successions, les partages,
les affranchissements, des punitions pour les divers crimes, etc.,
etc.; enfin embrassoit presque toute la jurisprudence françoise telle
qu'elle étoit alors. Toutefois, et déjà nous en avons fait la remarque,
ces établissements n'eurent cours dans la France entière que parce
que c'étoient des coutumes générales, dont plusieurs sans doute
étoient tombées en désuétude, mais qui toutes étoient anciennes et
avoient eu force de lois par le consentement des assemblées de la
nation. (Voy. p. 174, 1re partie.)
270: Il ordonna que toutes les femmes folles de leurs corps seroient
chassées des maisons particulières, et défendit à ses sujets de leur
louer aucune habitation où elles pussent faire leur infâme
commerce. Alors on donna un nom odieux aux endroits où elles
furent obligées de se retirer: c'étoient de petites loges, dans
lesquelles il leur étoit défendu de passer la nuit, afin qu'un reste de
pudeur pût contenir les hommes, forcés, pour y entrer, de braver le
grand jour et tous les regards. Ces loges furent appelées bords ou
bordels, du mot saxon bord, qui signifie petite loge; et c'est par
erreur qu'on a cru trouver cette étymologie dans la situation de ces
maisons au bord de l'eau. Les broderies, les boutonnières d'argent et
autres ornements furent interdits à ces femmes perdues; on les
empêcha même de mettre leurs loges dans les grandes rues, et on
les contraignit de se retirer dans les rues de l'Abreuvoir, des
Boucheries, de Froi-Manteau; dans celles de Glatigny, Chapon,
Champ-Fleury, etc.
278: Il est dit dans cet acte que le roi seul a la voirie à Paris et dans
toute la banlieue, excepté dans les rues où l'évêque a toutes les
maisons de l'un et de l'autre côté; et que si, parmi les maisons de
l'évêque, il y en a seulement une qui ne soit point à lui, l'évêque
perd la voirie, que le roi ne partage avec personne. Tous les lieux
d'exemptions, comme Saint-Martin-des-Champs, le Temple, Saint-
Germain-des-Prés, Saint-Éloi, Saint-Julien-le-Pauvre, n'ont point de
voirie; le chapitre de Notre-Dame ne l'a que dans le Parvis, et
l'abbaye de Sainte-Geneviève que dans la vieille terre, depuis la croix
Hémon jusqu'à l'abbaye.
283: «Il est toujours aisé, dit le P. Daniel, de faire le procès à ceux
qui ont administré les finances, soit parce qu'il est rare de se
modérer dans un tel poste, soit parce que, dans un pareil
maniement, il est moralement impossible de rendre compte de
tout.»
285: «C'est pour la première fois, dit le président Hénault, qu'il est
fait mention de la loi salique, qui ne permettoit pas que les femmes
héritassent de la couronne de France.» C'est encore là une de ces
opinions erronées de nos historiens modernes, que nous aurons
occasion d'examiner et de réduire à sa juste valeur. Ce n'étoit point
uniquement par la loi salique, mais par toutes les anciennes lois et
coutumes des Francs, que les femmes étoient exclues de la
succession au trône; et nous dirons pourquoi.
297: Saint-Foix.
298: Ibid.
300: Elle étoit écrite en petit gothique, et placée entre les deux
statues: l'abbé Lebeuf ne lui donne que deux à trois cents ans.
335: Ces fossés étoient très-poissonneux; et il est dit que l'an 1415,
le 3 février, on en leva les bondes, pour donner de l'air au poisson,
qui étoit enseveli sous la glace.
338: Cet homme célèbre remplit Paris de monuments qui sont tous
autant de chefs-d'œuvre. Tout le monde connoît sa fin tragique. Il
fut tué le jour de la Saint-Barthélemi, lorsqu'il s'occupoit à retoucher
la sculpture de la fontaine des Innocents, qui depuis long-temps
étoit achevée.
340: Voy. pl. 39. Ce grand artiste, qui passa presque toute sa vie à
Rome, n'étoit point alors à Paris; et ces figures furent exécutées sur
les modèles qu'il envoya.
343: Voy. pl. 43. La façade du côté du quai étoit masquée par une
autre façade élevée depuis par Perrault; et les artistes d'un goût
délicat la préféroient à cette dernière.
345: Des officiers envoyés par la cour lui apprêtoient à manger sur
la route; il étoit complimenté et recevoit des présents dans toutes
les villes où il passoit. Quand il approcha de Paris, on envoya au-
devant de lui M. de Chantelou, maître-d'hôtel du roi, qui savoit
l'italien, et qui, par cette raison, eut ordre de l'accompagner pendant
tout son séjour dans cette capitale.
346: Le portrait qu'en a tracé Claude Perrault peut passer pour vrai,
quoiqu'il sorte d'une main ennemie, parce qu'il s'accorde assez avec
ce qu'en dit M. de Chantelou, qui en parle avec une entière
impartialité; le voici:
«Il avoit une taille un peu au-dessous de la médiocre, bonne mine,
un air hardi. Son âge avancé et sa bonne réputation lui donnoient
encore beaucoup de confiance. Il avoit l'esprit vif et brillant, et un
grand talent pour se faire valoir: beau parleur, tout plein de
sentences, de paraboles, d'historiettes et de bons mots dont il
assaisonnoit la plupart de ses réponses........ Il ne louoit et ne prisoit
guère que les hommes et les ouvrages de son pays. Il citoit souvent
Michel-Ange; et on l'entendoit presque toujours dire: Sicome diceva
il Michel-Angelo Buonarotta.»
347: Voy. pl. 41. Le roi en posa la première pierre avec un grand
éclat. La médaille qu'on y plaça étoit d'or, et de la valeur de 2,400
liv. Elle représentoit d'un côté la tête de Louis XIV, et de l'autre le
dessin du cavalier Bernin, avec ces paroles: Majestati et æternitati
imperii Gallici sacrum. La médaille étoit du célèbre Warin, et
l'inscription de Chapelain.
349: Patte, dans ses Mémoires sur l'architecture, porte à peu près le
même jugement de ce projet. Presque tous les artistes qui en ont
parlé sont d'avis que c'est une composition médiocre: cependant
aujourd'hui que le goût de l'architecture est changé en France, il est
probable qu'on le jugeroit plus favorablement; et l'on ne peut nier
que les lignes qu'il présente n'aient plus de grandeur, et ne soient
conçues dans un style plus pur que la colonnade actuelle.
350: Ceci arriva après que le Bernin eut quitté la France. Il n'avoit
point vu ce projet; et si l'on ne savoit d'ailleurs la haine qui existoit
entre lui et les Perrault, cette circonstance suffiroit seule pour
détruire entièrement la petite anecdote qu'on a tant répétée de son
admiration pour le dessin de la colonnade, anecdote que Voltaire a
dite d'abord en prose, et ensuite en vers:
353: Voy. pl. 44. C'est cette façade qui masque celle de Levau, déjà
existante, et dont nous venons de parler.
369: Ce clocher fut élevé vers l'an 1300, et l'abbé Lebeuf a trouvé
dans un acte de 1424 que le chapitre acquit, moyennant seize sous
de rente, un petit terrain dans la justice de l'évêque, et faisant le
coin de la rue des Petits-Champs, pour y construire le portail. C'étoit
ainsi que la plupart des anciennes églises se formoient de parties
incohérentes, élevées successivement à de longs intervalles, ce qui
d'ailleurs ne répugnoit point au système de l'architecture gothique.
La représentation que nous donnons de celle-ci doit paroître d'autant
plus curieuse qu'elle provient d'un dessin original, lequel est unique,
et n'a jamais été gravé. (Voy. pl. 47.) Il ne reste plus d'autre vestige
de cette église, qu'une petite portion du mur du portail; le reste a
été remplacé par des maisons; et le cloître est devenu un passage
qui donne de la rue des Bons-Enfants dans la rue Croix-des-Petits-
Champs, et que croisent deux autres passages aboutissant à la rue
Saint-Honoré et à la nouvelle rue de Montesquieu.
374: Elles n'avoient pas sans doute dix toises chacune; car tout
l'emplacement du Petit-Bourbon n'en contenoit guère plus de deux
mille huit cents. (Jaillot.)
379: Ce fut dans cet hôtel de Retz que fut conduit l'exécrable
Ravaillac après son attentat.
381: Elle a été depuis abattue, ainsi que plusieurs maisons de la rue
du Petit-Bourbon, contiguë à ce passage, pour former une place
devant l'église.
384: Sauval assure avoir connu des vieillards qui lui avoient dit
qu'après sa mort on l'exposa dans la grand'salle de sa maison;
qu'elle étoit vêtue d'une robe de satin blanc, et couchée sur un lit de
parade de velours cramoisi, enrichi de dentelles d'or et d'argent.
Saint-Foix dit qu'il n'est pas vraisemblable qu'on ait exposé à la vue
du public une personne à qui des symptômes terribles de mort
avoient défiguré tous les traits et tourné la bouche jusque derrière le
cou.
385: Il est remarquable que la première fontaine qui fut élevée dans
la Cité étoit alimentée par les eaux de l'aquéduc Saint-Gervais. Ce
fut en 1605 et sur l'emplacement de la maison du père de Jean-
Châtel, que le prévôt des marchands Miron la fit construire, après
qu'on eut abattu la pyramide infamante qui d'abord avoit été bâtie
sur les ruines de cette maison. On y lisoit ce distique latin qui
rappeloit la mémoire de l'attentat du régicide, et de la destruction du
monument destiné à en éterniser le souvenir:
1o. Celui des Provençaux. Il doit son nom à une enseigne qui
subsistoit encore en 1772. On l'appeloit anciennement Arnoul de
Charonne, du nom d'un particulier qui y demeuroit en 1293. Depuis,
par altération, Raoul de Charonne et Arnoul le Charron. (Cart. S.
Germ. Autiss., fol. 38 et 39.—Cens. de l'év.)
2o. Celui de la Petite-Bastille. En 1499, il étoit cité sans nom dans les
censiers de l'évêché, sous la seule dénomination de Ruelle-sans-
bout. En 1540, on le trouve nommé Jean de Charonne. Enfin il a
reçu son dernier nom d'un cabaret qui en occupoit le fond.
389: T. I, p. 243.
397: Voyez p. 822. Elle fait maintenant partie de la place qui est
devant la colonnade, et qu'on nomme place d'Iéna.
398: Cart. S. Germ. Autiss., folio 28, verso.
404: Ibid.
406: Ensaiss. de S. Germ. Reg. 3, fol. 54. Devant cette place étoit
un port qui servoit d'arrivage aux marchandises, et de dépôt de
navigation. Avant la construction du pont Neuf, il y avoit sur cette
place, comme sur d'autres points des rivages de la Seine, un nombre
suffisant de bachoteurs ou passeurs d'eau pour la facilité des
communications.
413: Elle a pris ce nom de l'église qui étoit sous l'invocation de saint
Honoré, évêque d'Amiens.
420: T. I, p. 159.
427: Cet arrêt avoit pour fondement six motifs qui regardoient la
santé, la subsistance et la sûreté des citoyens. «Le premier, que la
ville de Paris, portée à une grandeur excessive, seroit plus
susceptible de mauvais air; le second, que cela rendroit le
nettoiement de ses immondices beaucoup plus difficile; le troisième,
que l'augmentation du nombre des habitants augmenteroit à
proportion le prix des vivres et autres denrées, ouvrages et autres
marchandises; le quatrième, que l'on avoit depuis couvert de
bâtiments les terres qui avoient autrefois servi d'agriculture pour les
légumes et les menus fruits nécessaires aux provisions de la ville: ce
qui en causeroit immanquablement la disette si l'on continuoit d'y
bâtir; le cinquième que les habitants des bourgs et des villages
voisins, attirés par les prérogatives des faubourgs de cette capitale,
venoient s'y habituer en si grand nombre, que, si cela continuoit, la
campagne deviendroit déserte; le sixième enfin, que la difficulté de
gouverner un si grand peuple donnoit lieu au déréglement de la
police et aux meurtres, vols et larcins qui se commettoient
fréquemment et impunément, de jour et de nuit, en cette ville et ses
faubourgs.»
Cependant l'on bâtit encore depuis, et hors des bornes qui avoient
été plantées en 1638; ce qui provoqua, en 1672, un nouvel arrêt,
qui ordonnoit qu'il seroit planté de nouvelles bornes aux extrémités
des faubourgs pour en marquer l'enceinte, et faisoit de très-
expresses défenses de les passer à l'avenir par aucun bâtiment.
(Delamare.)
ebookbell.com