如何找到输入区域的圆周长

时间:2017-11-13 05:33:56

标签: python python-3.x

我正在尝试创建一个代码,询问用户圈子的区域,并从中找到它的周长。

到目前为止,我已经得到了这段代码:

area = input("Please choose an area for your circle: ")
def circumference(area):
    import math
    circumference = (squareRoot(area)) / (math.pi)

print("The circumference is: ", circumference)

当所选区域为60时,它返回:

Please choose an area for your circle: 60
The circumference is:  <function circumference at 0x101478510>

如何改进我的代码以使其有效以及为什么会有效?

2 个答案:

答案 0 :(得分:3)

您必须调用该函数(添加括号),将public static int idFinder(ClassSection classOne) { String intString = "a Student ID to search for:"; int studentIndex = -1; // Initialize the studentIndex to a negative value since 0 is a valid index System.out.println("Please enter a Student ID to search for:"); int studentID = intChecker(intString); for (int i = 0; i < classOne.students.size(); i++) { int studentIdTest = classOne.students.get(i).getStudentID(); if (studentIdTest == studentID) { studentIndex = i; break; } } return studentIndex; } 参数传递给它,并返回结果:
您还需要将输入转换为数字(此处为浮点数)
您应该使用area而不是未定义的math.sqrt函数

SquareRoot

或者,您可以选择将输入转换为float,然后将其作为参数传递给函数:

import math                                          # place imports at the top

def circumference(area):
    circ = (math.sqrt(float(area))) / (math.pi)      #<- cast param to float, use math.sqrt
    return circ                                      #<- return the result

area = input("Please choose an area for your circle: ")
print("The circumference is: ", circumference(area)) #<- call the function with a parameter

答案 1 :(得分:2)

您将参数'area'作为字符串传递。试试这个......

area = int(input("Please choose an area for your circle: "))

这是必要的,因为你不能在字符串上使用squareRoot。

此外,圆的面积是pi * r ^ 2,而圆周是2 * pi * r。

这意味着你不能只用pi来划分区域的平方根。

相反,你需要将面积除以pi来得到r ^ 2。平方根这个得到r。将r乘以2 * pi得到周长。

import math

def circumference(area):
    return math.sqrt(area/math.pi)*math.pi*2

area = int(input("Please choose an area for your circle: "))

希望这有帮助!