为什么我的if循环抛出语法错误?

问题描述

我已经开始用python做一个计算器,它抛出了我无法摆脱的pyflake语法错误

这是我到目前为止所做的:

import time
import math 
from clear_screen import clear

def add(x,y):
    return x + y
    
def subtract(x,y):
  return x - y

def multiply(x,y):
  return x * y

def divide(x,y):
  return x / y

def power(x,y):
  return x ** y
    
while 0 == 0:

  print ("======================")
  print ("calculator.exe")
  print ("======================")
  print ("")

  time.sleep(0.3)

  print ("1) Add ")
  print ("2) subtract ")
  print ("3) Multiply ")
  print ("4) Devide ")
  print ("5) Square Root ")
  print ("6) Power")
  print ("======================")
  x = input ("select operator ")
  if x == '5':
    num1 = int(input ("Type number "))
  elif x == '6':
    num1 = int(input ("Type number"))
    num2 = int(input ("Type Power"))
  else:
    num1 = int(input ("Type first number "))
    num2 = int(input ("Type Second number "))
  print ("======================")

  if x == '1':
    print (num1,"+",num2,"=",add(num1,num2))
  
  elif x == '2':
    print (num1,"-",subtract(num1,num2))
 
  elif x == '3':
    print (num1,"*",multiply(num1,num2))
  
  elif x == '4':
    print (num1,"/",divide(num1,num2))
  
  elif x == '5':
    print ("√",num1,(math.sqrt(num1)))   
  
  elif x == "6":
    print (num1,"^",power(num1,num2))  

  else:
    print ("Opperator not found")
  print ("======================")

  time.sleep(3)
  clear()

(原始代码位于https://repl.it/join/mqrgvlcf-rosmonautical) (我不在乎它的效率如何,还是我的)

解决方法

上一条语句末尾您缺少)

if x == '1':
    print (num1,"+",num2,"=",add(num1,num2))
  
elif x == '2':
    print (num1,"-",subtract(num1,num2))
 
elif x == '3':
    print (num1,"*",multiply(num1,num2))
  
elif x == '4':
    print (num1,"/",divide(num1,num2))
  
elif x == '5':
    print ("√",num1,(math.sqrt(num1))) # Last ")" was missing here
  
elif x == "6":
    print (num1,"^",power(num1,num2)