In Python, Write a program that has a main() function and a multi value returning function named rspyramid(). The main() function prompts the user to provide two float values used to calculate both Area and Volume of a regular square pyramid, then calls rspyramid() with the user provided values. On the return the main() function should print the surface area and volume accurate to three decimal places. The function rspyramid() takes two values, base edge and height of the regular square pyramid, performs the necessary calculations and returns the two calculated values, surface area and volume. Code must match the example below Enter the base edge of a regular square pyramid: Enter the height regular square pyramid: The surface area is: The volume is: This is the code I have tried... It has a calculation error on the surface area... import math #function to find surface area and volume def rspyramid(edge,height): #find slantheight slantheight=math.sqrt(height*height+edge*edge) #calculate surface area sa=2*edge*slantheight+pow(edge,2) #calculate volume volume=(pow(edge,2)*height)/3 #return surface area and volume return sa,volume #main function def main(): #store the edge input from user e = float(input("Enter the base edge of a regular square pyramid: ")) #store the height input from the user h = float(input("Enter the height of regular square pyramid: ")) #area and volume variables are assigned result from the rspyramid function area,vol = rspyramid(e,h) #print the surface area print("The surface area is ",end="") print("{0:.3f}".format(sa)) #print the volume print("The volume is ",end="") print("{0:.3f}".format(vol)) main() Error code: What am I missing? Test 1: stimulus:: 1, 1 expected: 'The surface area is: 3.236', 'The volume is: 0.333' Line does not match! Line 1 Program Output was |S|The surface area is: 3.828|E| Line 1 Expected Output was |S|The surface area is: 3.236|E| Test 1 FailedE
In Python, Write a
The main() function prompts the user to provide two float values used to calculate both Area and Volume of a regular square pyramid, then calls rspyramid() with the user provided values.
On the return the main() function should print the surface area and volume accurate to three decimal places.
The function rspyramid() takes two values, base edge and height of the regular square pyramid, performs the necessary calculations and returns the two calculated values, surface area and volume.
Code must match the example below
Enter the base edge of a regular square pyramid:
Enter the height regular square pyramid:
The surface area is:
The volume is:
This is the code I have tried... It has a calculation error on the surface area...
import math
#function to find surface area and volume
def rspyramid(edge,height):
#find slantheight
slantheight=math.sqrt(height*height+edge*edge)
#calculate surface area
sa=2*edge*slantheight+pow(edge,2)
#calculate volume
volume=(pow(edge,2)*height)/3
#return surface area and volume
return sa,volume
#main function
def main():
#store the edge input from user
e = float(input("Enter the base edge of a regular square pyramid: "))
#store the height input from the user
h = float(input("Enter the height of regular square pyramid: "))
#area and volume variables are assigned result from the rspyramid function
area,vol = rspyramid(e,h)
#print the surface area
print("The surface area is ",end="")
print("{0:.3f}".format(sa))
#print the volume
print("The volume is ",end="")
print("{0:.3f}".format(vol))
main()
Error code: What am I missing?
Test 1: stimulus:: 1, 1 expected: 'The surface area is: 3.236', 'The volume is: 0.333'
Line does not match!
Line 1 Program Output was |S|The surface area is: 3.828|E|
Line 1 Expected Output was |S|The surface area is: 3.236|E|
Test 1 FailedE
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images