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