Eclipse Pydev程序持续终止

Eclipse Pydev程序持续终止,eclipse,python-2.7,pydev,Eclipse,Python 2.7,Pydev,我是一个相当新的程序员,目前我已经被分配了一个项目,以创建一个循环计算器,即使你使用计算器的功能之一,它将继续进行,直到你作出选择提供。我的计算器目前的问题是,每当我尝试在Pydev上测试我的函数时,都会不断终止。我已经修复了第一个问题,Pydev将我的一个变量(choice)读取为未使用,因此我使用了“ctrl+1”技巧,从而消除了未使用变量警告。关于如何运行这个程序并让它不断循环,有什么建议吗 def main(): loop=1 choice=0 # @Unu

我是一个相当新的程序员,目前我已经被分配了一个项目,以创建一个循环计算器,即使你使用计算器的功能之一,它将继续进行,直到你作出选择提供。我的计算器目前的问题是,每当我尝试在Pydev上测试我的函数时,都会不断终止。我已经修复了第一个问题,Pydev将我的一个变量(choice)读取为未使用,因此我使用了“ctrl+1”技巧,从而消除了未使用变量警告。关于如何运行这个程序并让它不断循环,有什么建议吗

def main():      
    loop=1
    choice=0  # @UnusedVariable
    while loop == 1:
        print("Welcome to Calculator Function!")
        print("Your options are:")
        print(" ")
        print("1/) Addition")
        print("2/) Subtraction") 
        print("3/) Multiplication")
        print("4/) Division")
        print("5/) Quit CalculatorFunction.py")
        print(" ")

    choice = int(raw_input("Choose your option: ").strip())
    if choice == 1:
        add1 = input("Add what: ")
        add2 = input("To what: ")
        print add1, "+", add2, "=", add1+add2
    elif choice == 2:
        sub2 = input("Subtract what: ")
        sub1 = input("From what: ")
        print sub1, "-", sub2, "=", sub1-sub2
    elif choice == 3:
        mult1 = input("Multiply what: ")
        mult2 = input("To what: ")
        print mult1, "*", mult2, "=", mult1*mult2
    elif choice == 4:
        div2= input("Divide what: ")
        div1= input("From what: ")
        print div1, "/", div2, "=", div1/div2
    elif choice == 5:
        loop = 0
        print"Thank you for using CalculatorFunction.py have a good day!" 
    else:
        print"No selection made, please try again."    


if __name__ == '__main__':
    main() 

您的
if-else
块在while循环之外,这就是它不工作的原因。以下是正确缩进的代码:

def main():      
    loop=1
    choice=0  # @UnusedVariable
    while loop == 1:
        print("Welcome to Calculator Function!")
        print("Your options are:")
        print(" ")
        print("1/) Addition")
        print("2/) Subtraction") 
        print("3/) Multiplication")
        print("4/) Division")
        print("5/) Quit CalculatorFunction.py")
        print(" ")

        choice = int(raw_input("Choose your option: ").strip())
        if choice == 1:
            add1 = input("Add what: ")
            add2 = input("To what: ")
            print add1, "+", add2, "=", add1+add2
        elif choice == 2:
            sub2 = input("Subtract what: ")
            sub1 = input("From what: ")
            print sub1, "-", sub2, "=", sub1-sub2
        elif choice == 3:
            mult1 = input("Multiply what: ")
            mult2 = input("To what: ")
            print mult1, "*", mult2, "=", mult1*mult2
        elif choice == 4:
            div2= input("Divide what: ")
            div1= input("From what: ")
            print div1, "/", div2, "=", div1/div2
        elif choice == 5:
            loop = 0
            print"Thank you for using CalculatorFunction.py have a good day!" 
        else:
            print"No selection made, please try again."    



if __name__ == '__main__':
    main()
这在pydev上运行得很好。

多亏了您关于“缩进”的提示和其他一些东西,我终于明白了程序的工作原理。谢谢大家的输入。我所做的修复我的即时终止是修复缩进。然后,为了使程序在没有选择的情况下继续循环,我添加了continue,本质上,终止程序的唯一方法是选择quit选项,该选项被列为“5”

如果name='main':
main()

“连续终止”?!我会说它永远不会终止
loop==1
无限期地保持
True
。看起来您想要的是一个(read-eval-print循环)。目前,我能看到的最明显的问题是,除了在
while
循环中进行打印之外,您什么都没有。如果正确复制缩进,while循环将永远运行,只打印提示。此外,您(有点危险地)混合了
输入和
原始输入。如果您使用的python版本足够早,而且
raw\u input
是一个选项,那么很可能您永远不应该使用
input
。当然,也有一些极端情况会让你的生活变得更轻松,没有什么特别的负面影响,但这些情况非常罕见,一个很好的经验法则是,在你知识更渊博之前,假装它们不存在。所以,所有这些
input
调用都应该是对
raw\u input
的调用。我希望它继续循环,除非用户输入最后一个选项,在这种情况下,程序将在@jornsharpethanks终止,我之前已经修复了它,但是看起来这个比我之前做的要少。你应该在eclipse中试用调试器。作为一名新的程序员,调试是一项非常有用的技能。事实上,我今天正在查阅!我还有很多东西要学习,我将再次编辑程序,这样用户将被询问他们想要执行多少功能,并且程序将在他们使用计算器执行这些功能后终止@用户2963623
def main()
    loop=1
    choice=0  # @UnusedVariable
    while loop == 1:
        print(" ")
        print("Welcome to Calculator Function!")
        print("Your options are:")
        print(" ")
        print("1) Addition")
        print("2) Subtraction") 
        print("3) Multiplication")
        print("4) Division")
        print("5) Quit CalculatorFunction.py")
        print(" ")

        choice = int(raw_input("Choose your option: ").strip())
        if choice == 1:
            add1 = int(raw_input("Add what: "))
            add2 = int(raw_input("To what: "))
            print add1, "+", add2, "=", add1+add2
        elif choice == 2:
            sub2 = int(raw_input("Subtract what: "))
            sub1 = int(raw_input("From what: "))
            print sub1, "-", sub2, "=", sub1-sub2
        elif choice == 3:
            mult1 = int(raw_input("Multiply what: "))
            mult2 = int(raw_input("To what: "))
            print mult1, "*", mult2, "=", mult1*mult2
        elif choice == 4:
            div2= int(raw_input("Divide what: "))
            div1= int(raw_input("From what: "))
            print div1, "/", div2, "=", div1/div2
        elif choice == 5:
            loop = 0 #Ends the program
            print"Thank you for using CalculatorFunction.py have a good day!" 
        else:
            print"No selection made, please try again."
            continue #loops the program