在我的计算的while循环中找不到问题

2024-10-02 20:41:14 发布

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

我的代码从这里开始

Endprogram = "y"
while endprogram.lower() == "y":

    num1 = (float(input("")))
    opdracht= (input(""))
    num2 = (float(input("The answer is:  ")))

    plus = (float(num1+num2))
    min = (float(num1-num1))
    maal = (float(num1*num2))
    gedeeld = (float(num1/num2))

    if opdracht == "+":
        print (float(plus))
    elif opdracht == "-":
        print (float(min))
    elif opdracht == "*":
        print (float(maal))
    elif opdracht == "/":
        print (float(gedeeld))
    elif opdracht != "+""-""*""/":
        print ("Not a valid operator"

    Endofprogram = input("another one?y/n:")
    if endofprogram == "n":
        break
            print ("the end")

大家好 所以我的问题是,我在第21行不断得到一个语法错误,它说另一个y/n,所以我的循环不起作用。其他的都很好。我在用python3.x工作 提前谢谢。 是的,我来之前查过了。你知道吗


Tags: 代码inputifplusfloatminprintelif
1条回答
网友
1楼 · 发布于 2024-10-02 20:41:14

除了我看到的一些编程错误之外,我相信您的语法错误是因为在Endofprogram = input("another one?y/n:")之前,您在print ("Not a valid operator"行有一个未闭合的括号

我已经修复了一些问题,比如min的用法,它是Python中的一个保留关键字,而num1-num1,它总是0!对于num1num2的输入,实际上应该提示用户输入什么。在Endofprogram/endofprogram中,大写和小写的用法也不一致。在print语句之前的循环中使用break意味着它永远不会到达它。更不用说print语句不必要地缩进了。你知道吗

flag = True
while flag:
  num1 = float(input("Input first number: "))
  opdracht = input("Input operator: ")
  num2 = float(input("Input second number: "))

  ans = "" 
  if opdracht == "+":
      ans = num1+num2
  elif opdracht == "-":
      ans = num1-num2
  elif opdracht == "*":
      ans = num1*num2
  elif opdracht == "/":
      ans = num1/num2
  elif opdracht != "+""-""*""/":
      print ("Not a valid operator")

  print("Answer: " + str(ans))

  continuePrompt = input("Another one?y/n:")
  if continuePrompt.lower() == "n":
    print("The end")
    flag = False
  elif continuePrompt.lower() != "y":
    print("Invalid input. I'll continue...")

相关问题 更多 >