Python函数循环

Python函数循环,python,Python,我正在学习Python,到目前为止我很喜欢它,但就在3天前,我遇到了一些我无法理解的事情。我创建了一个函数,它接受用户的输入,并通过if-elif条件运行结果。但当我运行程序时,它会接受多个输入,尽管我只是要求一个输入 我制作了两个程序,但它们都需要多个输入。我只包括一个 这是密码 def Power(): var1=int; var2=int; var3=float; var1=input("Please Enter Value

我正在学习Python,到目前为止我很喜欢它,但就在3天前,我遇到了一些我无法理解的事情。我创建了一个函数,它接受用户的输入,并通过if-elif条件运行结果。但当我运行程序时,它会接受多个输入,尽管我只是要求一个输入

我制作了两个程序,但它们都需要多个输入。我只包括一个

这是密码

def Power():
        var1=int;
        var2=int;
        var3=float;
        var1=input("Please Enter Value for A: ");
        var2=input("Please Enter Value for B: ");
        var3=int(var1)/int(var2);
        return var3;


    if (float(Power())>4):
        print("The Result is: "+ str(Power()));
    elif(float(Power())<4):
        print(Power());
def Power():
var1=int;
var2=int;
var3=浮动;
var1=输入(“请输入A:”的值);
var2=输入(“请输入B:”的值);
var3=int(var1)/int(var2);
返回变量3;
如果(float(Power())>4:
打印(“结果是:+str(Power()));

elif(float(Power())您多次调用该函数,因此每当通过
Power()

因为您的函数返回一个值,所以您应该将它赋给一个变量,并在if语句中使用该局部变量,例如

def Power():
    var1=int
    var2=int
    var3=float
    var1=input("Please Enter Value for A: ")
    var2=input("Please Enter Value for B: ")
    var3=int(var1)/int(var2)
    return var3

myLocalVariable = float(Power())

if (myLocalVariable>4):
    print("The Result is: "+ str(myLocalVariable))
elif(myLocalVariable<4):
    print(myLocalVariable)
def Power():
var1=int
var2=int
var3=浮动
var1=输入(“请输入:”)的值
var2=输入(“请输入B:”的值)
var3=int(var1)/int(var2)
返回变量3
myLocalVariable=float(Power())
如果(myLocalVariable>4):
打印(“结果是:“+str(myLocalVariable))
elif(myLocalVariableOk,让我们以“Pythonic”的方式来做:

注意:我假设您使用了python3


开始编写python代码的一个好方法是阅读
PEP
s,开始。我还建议您阅读它,它将在编码样式和python标准方面对您有很大帮助。

我想建议对@Austin A建议的代码进行一些修改

开始时,这里有几个指针,您可以在享受Python时考虑:

  • Python是免费的。;。只需使用适当的缩进即可。有关详细信息,请参阅:
  • 你可以在任何时候声明一个变量。它的事先声明不受强迫。只需在使用之前给它赋值,它就可以使用了
  • 不管使用哪种语言,只有当函数(返回某个值)必须对不同的参数值进行操作时,才应该根据需要多次调用它。
    • 但是,如果您希望为一组参数值调用函数,则只需调用一次,并将其值存储在变量中。然后根据需要使用变量。这是使用函数的有效方法
  • 现在继续代码:

    def Power():
        #Earlier declarations become meaningless, if you're going to redeclare the variable  
        #In Python, the variables change their data type as per their values 
        var1=input("Please Enter Value for A: ")
        var2=input("Please Enter Value for B: ")
        #This float conversion ,can splendidly take care of your type cast worries
        var3=float(var1)/var2
        return var3
    
    #Once, the 'float' conversion is done, then you don't have to 
    #explicitly mention it again and again for assignments or comparison. 
    #Leave that task for Python 
    myLocalVariable=Power()
    
    if myLocalVariable>4:
        print("The Result is: "+ str(myLocalVariable))
    elif myLocalVariable<4:
        print(myLocalVariable)
    
    def Power():
    #如果要重新声明变量,早期的声明将变得毫无意义
    #在Python中,变量根据其值更改其数据类型
    var1=输入(“请输入:”)的值
    var2=输入(“请输入B:”的值)
    #这种浮动转换,可以出色地照顾您的类型铸造忧虑
    var3=浮动(var1)/var2
    返回变量3
    #一旦“float”转换完成,您就不必
    #为了作业或比较,反复明确地提到它。
    #将该任务留给Python完成
    myLocalVariable=Power()
    如果myLocalVariable>4:
    打印(“结果是:“+str(myLocalVariable))
    
    elif MyLocalVariables好的,你不需要在Python的行末使用
    ,请按你自己的方式格式化你的代码。准备好并公布你的代码。如果我弄坏了你的代码,我很抱歉。你可能的副本还应该看看一些Python教程,比如。你的代码目前看起来像其他语言……函数应该d不以大写字母开头,变量不应使用驼峰大小写,而应使用下划线大小写…
    def Power()
    应为
    def Power()
    myLocalVariable
    应该是
    my_local_variable
    。无意冒犯,但要抄袭@Austin的答案太多了。没有人抄袭@epinal。函数名的更正完全正确。不过,我相信使用camelcase变量名也很好。据我所知,我在各种代码中都见过它。因此,我相信score或camelcase都可以。请检查:。`函数名和变量名函数名应为小写,并根据需要用下划线分隔单词,以提高可读性。变量名与函数名遵循相同的约定。只有在已经是流行样式的上下文中才允许使用mixedCase(例如threading.py),以保持向后兼容性。`非常感谢。我尝试了它,它很有效。但是,您能告诉我我的错误是什么,以及为什么使用变量“myLocalvariable”?我相信首先您希望接受用户输入,然后执行比较。但是,在您的代码中,您调用了函数'Power(),首先是在比较语句中,然后是在“print()”。我相信这样做是为了在两个语句中都有相同的“Power()”返回值。但这会导致多个输入请求,因为在“Power()”中有“input()”&调用次数“Power()”,调用次数与这些“input()”的次数相同因此,为了达到这个目的,我只调用了'Power()'一次,并将其返回值存储在'myLocalVariable'中
    def Power():
        #Earlier declarations become meaningless, if you're going to redeclare the variable  
        #In Python, the variables change their data type as per their values 
        var1=input("Please Enter Value for A: ")
        var2=input("Please Enter Value for B: ")
        #This float conversion ,can splendidly take care of your type cast worries
        var3=float(var1)/var2
        return var3
    
    #Once, the 'float' conversion is done, then you don't have to 
    #explicitly mention it again and again for assignments or comparison. 
    #Leave that task for Python 
    myLocalVariable=Power()
    
    if myLocalVariable>4:
        print("The Result is: "+ str(myLocalVariable))
    elif myLocalVariable<4:
        print(myLocalVariable)