我正在尝试创建一个代码,询问用户圈子的区域,并从中找到它的周长。
到目前为止,我已经得到了这段代码:
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>
如何改进我的代码以使其有效以及为什么会有效?
答案 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: "))
希望这有帮助!