本文共 6633 字,大约阅读时间需要 22 分钟。
# 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 mathdef 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 areaprint(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 randomdef 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://kmzdx.baihongyu.com/