无法计算Python 3程序

2024-04-25 02:07:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我无法让python3创建的程序停止运行我的循环。我做错什么了?我需要能够返回到主菜单后,输出每个功能。你知道吗

救命啊!你知道吗

  # define functions
  def add(x, y):
       """This function adds two numbers"""

      return x + y

  def subtract(x, y):
      """This function subtracts two numbers"""

      return x - y

  def multiply(x, y):
      """This function multiplies two numbers"""

      return x * y

  def divide(x, y):
      """This function divides two numbers"""

      return x / y

  # take input from the user
  loop = 1

  while loop ==1:
      print ("Hi Prof. Shah! Welcome to my Project 3 calculator!")
      print("Please select an operation.")
      print("1.Add")
      print("2.Subtract")
      print("3.Multiply")
      print("4.Divide")
      print("5.Remainder")
      print("6.Exit")

      choice = input("Enter choice(1/2/3/4/5/6):")

      num1 = int(input("Enter first number: "))
      num2 = int(input("Enter second number: "))

      if choice == '1':
      print(num1,"+",num2,"=", add(num1,num2))

      elif choice == '2':
      print(num1,"-",num2,"=", subtract(num1,num2))

      elif choice == '3':
      print(num1,"*",num2,"=", multiply(num1,num2))

      elif choice == '4':
      print(num1,"/",num2,"=", divide(num1,num2))

      elif choice == '5':
      print(num1,"%",num2,"=", remainder(num1,num2))

      elif choice == '6':       
      print("Goodbye, Prof. Shah!")

事先谢谢你的帮助。你知道吗


Tags: addinputreturndeffunctionthisprintsubtract
3条回答

您没有更改loop的值,而是导致了无限循环。你知道吗

这里有一个建议:

flag = True
while flag:
    print ("Hi Prof. Shah! Welcome to my Project 3 calculator!")
    print("Please select an operation.")
    print("1.Add")
    print("2.Subtract")
    print("3.Multiply")
    print("4.Divide")
    print("5.Remainder")
    print("6.Exit")
    choice = int(input("Enter choice(1/2/3/4/5/6):")) #dangeeer!!
    if choice >= 1 and choice < 6: #here you keep inside the loop.
        x = float(input("First value:")) #dangeeer!!
        y = float(input("Second value:")) #dangeeer!!
        if choice == 1 : print(add(x, y))
        elif choice == 2: print(subtract(x, y))
        elif choice == 3: print(multiply(x, y))
        elif choice == 4: print(divide(x, y))
        elif choice == 5: print(remainder(x, y))
    elif choice == 6: #here you get out of the loop
        print("Goodbye, Prof. Shah!")
        flag = False
    else:
        print("Choose a number between 1 and 6")

您需要在每次“打印”之后添加“break”,以便while循环可以在打印信息之后中断。例如:

if choice == '1':
    print(num1,"+",num2,"=", add(num1,num2))
    break
elif choice == '2':
    print(num1,"-",num2,"=", subtract(num1,num2))
    break

您只能用表达式loop = 1设置loop的值。在稍后的某个时候,您需要将其更改为1以外的值才能退出循环,因为条件是loop == 1。你知道吗

在循环的适当点将loop的值设置为1以外的值。你知道吗

相关问题 更多 >