On 2017-12-07 01:39, nick martinez via Python-list wrote:
On Wednesday, December 6, 2017 at 8:13:36 PM UTC-5, ssghot...@gmail.com wrote:
The following works:

import math

print("This program will calculate the surface area and volume of a 3-dimensional 
cone: ")
print()
print()
r = input("What is the radius in feet? (no negatives): ")
h = input("What is the height in feet? (no negatives): ")
r = float(r)
h = float(h)
if r > 0 and h > 0:

    surfacearea = math.pi * r ** 2 + r * math.pi * (math.sqrt(r ** 2 + h ** 2))
    volume = (1 / 3) * math.pi * r ** 2 * h

    print()
    print("Your Answer is:")
    print()

    print("A cone with radius", r, "\nand height of", h, "\nhas a volume of : ", 
round(volume,2), "\nand surface area of : ",
          round(surfacearea,2), )
else:
    print("No negatives allowed, try again.")

Tried this but it doesn't seem to work. It still prints out all of the decimals

Try using .format:

print("A cone with radius {}\nand height of {}\nhas a volume of : {:.2f}\nand surface area of : {:.2f}".format(r, h, volume, surfacearea)))

round(volume,2) will round the volume to 2 decimal places, but floating-point numbers in Python are stored in binary, and you can't always represent a fractional decimal number exactly in binary. For example, you can't store 0.1 exactly as a float.
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to