麻烦编写python程序?

时间:2015-01-02 18:19:15

标签: python function

这是一个主要功能,在其中完成整个操作。在其中,有一个if语句。我想在if函数内定义一个函数,只要满足if。编译器应继续执行其中定义的函数,程序的3/4取决于if内的操作。当我运行程序时,上面的语句只会被执行。

例如:

  def manage():
         name=raw_input("Enter name")
         pass=raw_input("Enter password")
         conf=raw_input("Confirm password")
         if(pass==conf):
               print"You can proceed!!!"
               def proceed():
                       #here rate is calculated
                       print rate
   manage()#at the very end

if上面的语句只是被执行。如果没有执行则函数内部。我在else中给出了语句,但它没有到来。是否有可能在if中定义函数?如果没有,我们应该导入任何包吗?或者还有其他方式吗?

4 个答案:

答案 0 :(得分:3)

您不能将pass用作变量名称:

def manage():
    name=raw_input("Enter name: ")
    Pass=raw_input("Enter password: ")
    conf=raw_input("Confirm password: ")
    if(Pass==conf):
        print"You can proceed!!!"
        proceed()

def proceed():
    print rate

manage()

您不能将Python Keywords用作变量名称

答案 1 :(得分:1)

您只在if内声明方法,而不是执行它。这是你应该做的:

def manage():
    name=raw_input("Enter name")
    passwd=raw_input("Enter password")
    conf=raw_input("Confirm password")
    if(passwd==conf):  
        print"You can proceed!!!"
        proceed()

def proceed():
    #here rate is calculated
    print rate

manage() #at the very end

你应该:

  • proceed方法
  • 之外声明您的方法manage
  • 输入proceed
  • 时,请调用if方法
  • 更改pass变量名称,因为它是Python关键字

这也假设变量rate已声明并包含某些内容......

答案 2 :(得分:1)

我想您可能想要查看功能是什么和做什么。

函数是在作用域内定义的,可以在另一个函数中,但这并不意味着它必须在内部,否则对函数没有实际意义。

因此,简而言之,您需要在正文中定义函数,并在需要时调用感兴趣的函数。

直接来自您的代码:

def proceed():
         #here rate is calculated
         print rate

def manage():
         name=raw_input("Enter name")
         passwd=raw_input("Enter password")
         conf=raw_input("Confirm password")
         if(passwd==conf):
               print"You can proceed!!!"
               proceed()

manage()#at the very end

我建议你选择一本关于Python的好书,比如this one,并仔细阅读。

如下所述,pass变量名是Python中的保留关键字,会破坏您的代码。在此处重命名为passwd

答案 3 :(得分:-1)

似乎您在if语句中定义了该函数,但没有调用该函数。 尝试在定义后添加proceed()。 像这样:

if(pass==conf):
               print"You can proceed!!!"
               def proceed():
                       #here rate is calculated
                       print rate
               proceed()