Introduction to Python Programming and Data Structures, 3rd edition Y Daniel Liang
_______________________________________________________________________
Chapters 1-23
Extra Exercise for Chapter 1
*1.1 (Simple computation) The formula for computing the discriminant of a quadratic
equation ax 2 bx c 0 is b^2 – 4ac. Write a program that computes the discriminant for
the equation 3x^2 + 4x + 5.
*1.2 (Physics: acceleration) Average acceleration is defined as the change of velocity
divided by the time taken to make the change, as shown in the following formula:
v1 v0
a
t
Here, v0 is the starting velocity in meters/second, v1 is the ending velocity in
meters/second, and t is the time span in seconds. Assume v0 is 5.6, v1 is 10.5, and t is
0.5, and write the code to display the average acceleration.
*1.3 (Display pattern) Write a program that displays the following a big sign for 100
as shown in the sample run:
<output>
* ***** *****
* * * * *
* * * * *
* * * * *
* ***** *****
<end output>
Extra Exercise for Chapter 2
1
,*2.1 (Rectangle perimeter, area, and diagonal length) Write a program that prompts
the user to enter the width and height of a rectangle and displays the perimeter, area, and
the length of diagonal. Here is a sample run:
<output>
Enter the width of a rectangle: 4.25 <enter icon>
Enter the height of a rectangle: 7.26 <enter icon>
The perimeter is 23.02
The area is 30.855
The length of the diagonal is 8.412496656760108
<end output>
*2.2 (Physics: one dimensional motion) By one dimension, we mean that the object is
moving in a straight line. There are five variables that put together in several equations
for describing this motion:
Eq1: v1 v0 a t
Eq2: d averageSpeed t , averageSpeed (v0 v1 ) / 2
Eq3: d v0 t a t (Eq3 is derived from Eq1 and Eq2)
v v 2 a d (Eq4 is derived from Eq1 and Eq2)
2 2
Eq4: 1 0
Where
v1 is the final velocity in meters per second ( m / s )
v0 is the initial velocity in meters per second ( m / s )
t is the time elapsed in seconds
a is the object’s acceleration in meters per square second ( m / s 2 )
d is the distance traveled in meters
2
,Suppose a ball is released from the top of a building, you can write a program to find out
the height of the building, given the travel time for the ball to the ground using Eq3. Note
that the acceleration due to gravity is constant 9.8 m / s 2 . Here is a sample run:
<output>
Enter the ball travel time in seconds: 2.5 <enter icon>
The height of the building is 30.625 meters
<end output>
*2.3 (Physics: friction coefficient) The force pushing or pulling an object is related to
the object’s mass, acceleration, and a coefficient of friction in the following formula:
F um g ma
Where
F is the force applied to push or pull an object in Newtons (N)
u is a coefficient of friction ( uk is small for a smooth surface and large for a rough
surface)
m is the object’s mass in kilograms (kg)
g is the acceleration due to gravity, which is a constant 9.8 m / s 2 (meters per square
second)
a is the object’s acceleration in meters per square second ( m / s 2 )
Write a program that prompts the user to enter input for F , m , and a , and displays the
coefficient of friction. Here is a sample run:
<output>
Enter the friction force in Newtons: 150 <enter icon>
Enter the object’s mass in kg: 24.5 <enter icon>
3
, Enter the object’s acceleration in m/s^2: 4.5 <enter icon>
The coefficient for friction is 0.165556
<end output>
*2.4 (Slope of a line) Write a program that prompts the user to enter the coordinates of
two points (x1, y1) and (x2, y2), and displays the slope of the line connects the two
points. The formula of the slope is ( y2 y1 ) /( x2 x1 ) . Here is a sample run:
<output>
Enter the x-coordinate for point1: 4.5 <enter icon>
Enter the y-coordinate for point1: -5.5 <enter icon>
Enter the x-coordinate for point2: 6.6 <enter icon>
Enter the y-coordinate for point2: -6.5 <enter icon>
The slope for the line that connects two points (4.5, -5.5) and (6.6, -6.5) is -0.47619
<end output>
*2.5 (Financial application: initial deposit amount) Suppose you want to deposit a
certain amount of money into a savings account with a fixed annual interest rate. Write a
program that prompts the user to enter the final account value, the annual interest rate in
percent, and the number of years, and then displays the initial deposit amount. The initial
deposit amount can be obtained using the following formula:
finalAccountValue
initialDepositAmount
(1 monthlyInterestRate) numberOfMonths
Here is a sample run:
<output>
Enter final account value: 1000 <Enter icon>
4