# Practice Exercises for Functions
# Solve each of the practice exercises below.
# 1.Write a Python function miles_to_feet that takes a parameter miles and
# returns the number of feet in miles miles.
def
miles_to_feet(miles):
feet
=
miles
*
5280
return
feet
print
(miles_to_feet(
2.5
))
print
(
'====='
)
# 2.Write a Python function total_seconds that takes three parameters hours, minutes and seconds and
# returns the total number of seconds for hours hours, minutes minutes and seconds seconds.
def
total_seconds(hours, minutes, seconds):
total
=
hours
*
60
*
60
+
minutes
*
60
+
seconds
return
total
print
(total_seconds(
1
,
5
,
10
))
print
(
'====='
)
# 3.Write a Python function rectangle_perimeter that takes two parameters width and height
# corresponding to the lengths of the sides of a rectangle and
# returns the perimeter of the rectangle in inches.
def
rectangle_perimeter(width, height):
perimeter
=
(width
+
height)
*
2
return
perimeter
print
(rectangle_perimeter(
2.3
,
2.2
))
print
(
'====='
)
# 4.Write a Python function rectangle_area that takes two parameters width and height
# corresponding to the lengths of the sides of a rectangle and
# returns the area of the rectangle in square inches.
def
rectangle_area(width, height):
area
=
width
*
height
return
area
print
(rectangle_area(
2
,
5
))
print
(
'====='
)
# 5.Write a Python function circle_circumference that takes a single parameter radius
# corresponding to the radius of a circle in inches and
# returns the the circumference of a circle with radius radius in inches.
# Do not use π=3.14, instead use the math module to supply a higher-precision approximation to π.
import
math
def
circle_circumference(radius):
circumference
=
2.0
*
radius
*
math.pi
return
circumference
print
(circle_circumference(
4.0
))
print
(
'====='
)
# 6.Write a Python function circle_area that takes a single parameter radius
# corresponding to the radius of a circle in inches and
# returns the the area of a circle with radius radius in square inches.
# Do not use π=3.14, instead use the math module to supply a higher-precision approximation to π.
def
circle_area(radius):
area
=
radius
*
radius
*
math.pi
return
area
print
(circle_area(
4.0
))
print
(
'====='
)
# 7.Write a Python function future_value that takes three parameters present_value, annual_rate and years and
# returns the future value of present_value dollars invested at annual_rate percent interest,
# compounded annually for years years.
def
future_value(present_value, annual_rate, years):
value
=
present_value
*
pow
(annual_rate
+
1.0
, years)
return
value
print
(future_value(
1000000.0
,
0.03
,
10
))
print
(
'====='
)
# 8.Write a Python function name_tag that takes as input the parameters first_name and last_name (strings) and
# returns a string of the form "My name is % %." where the percents are the strings first_name and last_name.
# Reference the test cases in the provided template for an exact description of
# the format of the returned string.
def
name_tag(first_name, last_name):
form
=
"My name is
%s
%s
."
%
(first_name, last_name)
return
form
print
(name_tag(
'Bob'
,
'Smith'
))
print
(
'====='
)
# 9.Write a Python function name_and_age that takes as input the parameters name (a string) and age (a number) and
# returns a string of the form "% is % years old." where the percents are the string forms of name and age.
# Reference the test cases in the provided template for an exact description of
# the format of the returned string.
def
name_and_age(name, age):
form
=
"
%s
is
%d
years old."
%
(name, age)
return
form
print
(name_and_age(
'John'
,
24
))
print
(
'====='
)
# 10.Write a Python function point_distance that takes as the parameters x0, y0, x1 and y1, and
# returns the distance between the points (x0,y0) and (x1,y1).
def
point_distance(x0, y0, x1, y1):
distance
=
math.sqrt((x0
-
x1)
**
2
+
(y0
-
y1)
**
2
)
return
distance
print
(point_distance(
0
,
0.5
,
-
2.2
,
3.5
))
print
(
'====='
)
# 11.Challenge: Write a Python function triangle_area that takes the parameters x0, y0, x1,y1, x2, and y2, and
# returns the area of the triangle with vertices (x0,y0), (x1,y1) and (x2,y2).
# (Hint: use the function point_distance as a helper function and apply Heron's formula.)
def
triangle_area(x0, y0, x1, y1, x2, y2):
side1
=
point_distance(x0, y0, x1, y1) side2
=
point_distance(x1, y1, x2, y2) side3
=
point_distance(x2, y2, x0, y0) area
=
heron_formula(side1, side2, side3)
return
area
# 海伦公式
def
heron_formula(side1, side2, side3):
p
=
(side1
+
side2
+
side3)
/
2.0
area
=
math.sqrt(p
*
(p
-
side1)
*
(p
-
side2)
*
(p
-
side3))
return
area
print
(triangle_area(
0
,
0.5
,
-
2.2
,
3.5
,
-
3
,
-
2.5
))
print
(
'====='
)
# 12.Challenge: Write a Python function print_digits that takes an integer number in the range [0,100),
# i.e., at least 0, but less than 100. It prints the message "The tens digit is %, and the ones digit is %.",
# where the percent signs should be replaced with the appropriate values.
# (Hint: Use the arithmetic operators for integer division // and remainder % to find the two digits.
# Note that this function should print the desired message, rather than returning it as a string.
def
print_digits(number):
tens, ones
=
number
//
10
, number
%
10
message
=
"The tens digit is
%d
, and the ones digit is
%d
."
%
(tens, ones)
print
(message) print_digits(
49
)
print
(
'====='
)
# 13.Challenge: Powerball is lottery game in which 6 numbers are drawn at random.
# Players can purchase a lottery ticket with a specific number combination and,
# if the number on the ticket matches the numbers generated in a random drawing,
# the player wins a massive jackpot. Write a Python function powerball that takes no arguments and
# prints the message "Today's numbers are %, %, %, %, and %. The Powerball number is %.".
# The first five numbers should be random integers in the range [1,60), i.e., at least 1,
# but less than 60. In reality, these five numbers must all be distinct, but for this problem,
# we will allow duplicates. The Powerball number is a random integer in the range [1,36),
# i.e., at least 1 but less than 36. Use the random module and the function random.randrange to
# generate the appropriate random numbers.Note that this function should print the desired message,
# rather than returning it as a string.
import
random
def
powerball():
ball1, ball2, ball3, ball4, ball5
=
random.sample(
range
(
1
,
60
),
5
) ball6
=
random.choice(
range
(
1
,
36
)) message
=
"Today's numbers are
%d
,
%d
,
%d
,
%d
, and
%d
. The Powerball number is
%d
."
%
(ball1, ball2, ball3, ball4, ball5, ball6)
print
(message) powerball() powerball()
print('=====')
本文转自罗兵博客园博客,原文链接:http://www.cnblogs.com/hhh5460/p/5774925.html,如需转载请自行联系原作者