我试图找到一个形状的体积,但定义不起作用

时间:2018-03-08 21:23:20

标签: python

我希望代码询问半径和长度,然后程序将从定义区域计算pi radius radius * length打印出半径,例如,如果问我放置的半径5与它应该说的长度相同,体积是392.75

import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Objects;
import java.util.function.Consumer;

public class S {

   Object obj;


   S(Object var1) {
      this.obj = var1;
   }

   Object getob() {
      return this.obj;
   }

   public static void main(String[] var0) {

   ArrayList var1 = new ArrayList();
   var1.add("Hello");


   // for-each
   Iterator iterator = var1.iterator();

   while (iterator.hasNext()) {
         String string;
         String string2 = string = (String)iterator.next();
         System.out.println(string2);
   }


   // stream
   PrintStream printStream = System.out;
   Objects.requireNonNull(printStream);
   var1.forEach(printStream::println);


   }
}

3 个答案:

答案 0 :(得分:5)

您错过了return声明:

   def calculate_volume(radius, length):
        pi = 3.142
        vol = pi * radius * radius * length

        return vol

答案 1 :(得分:0)

这个例子几乎是正确的,你还没有从函数中返回结果!

def calculate_volume(radius, length):
     pi=3.142
     vol=pi*radius*radius*length
     return(vol)

当你立即volume = calculate_volume(radius, length)时,volume被设置为None而不是vol来自函数内部。

答案 2 :(得分:0)

或者更好 - 养成使用类型提示的习惯 - 然后使用体面的IDE(如PyCharm)或类型检查器(如MyPy)。 PyCharm会给你一个警告,告诉你没有return语句 - 任何调用你函数的东西都会知道参数的类型和返回类型。

def calculate_volume(radius: float, length: float) -> float:
    pi = 3.142
    vol = pi*radius*radius*length
    return vol