Python:如何使这段代码变得更好?

Python:如何使这段代码变得更好?,python,Python,WAP使用功能概念创建数学应用程序添加至少20-25个功能每个功能和用户输入的不同功能,以便根据功能选择任何功能要求用户输入 import math 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 floor(x , y): return x

WAP使用功能概念创建数学应用程序添加至少20-25个功能每个功能和用户输入的不同功能,以便根据功能选择任何功能要求用户输入

import math

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 floor(x , y):

  return x // y

def exponent(x, y):

  return x ** y

def remainder(x, y):

  return x % y

def square(x, y):

  a = x ** 0.5

  b = y ** 0.5

  return a,b

def swap(x, y):

  temp = x

  x = y

  y = temp  

  return int(x), int(y) 

def factors(x):

   print("The factors of",x,"are:")

   for i in range(1, x + 1):

       if x % i == 0:

           print(i)

def lcm(x, y):

   if x > y:

       greater = x

   else:

       greater = y


   while(True):

       if((greater % x == 0) and (greater % y == 0)):

           lcm = greater

           break

       greater += 1

   return lcm

def hcf(x, y):

    if x > y:

        smaller = y

    else:

        smaller = x

    for i in range(1, smaller+1):

        if((x % i == 0) and (y % i == 0)):

            hcf = i 

    return hcf   

def odd_even(x):

  if (x % 2) == 0:

   print("{0} is Even".format(x))

  else:

    print("{0} is Odd".format(x))

def factorial(x):

 return math.factorial(x)   

def absolute(x):

  return math.fabs(x)   

def power(x, y):

  return math.pow(x, y) 

def sin(x):

  return math.sin(x)    

def cos(x):

  return math.cos(x)

def tan(x):

  return math.tan(x)

def radian(x):

  return math.radians(x)    

print("Select operation.")

print("1.Add")

print("2.Subtract")

print("3.Multiply")

print("4.Divide")

print("5.Floor")

print("6.Exponent")

print("7.Remainder")

print("8.Square")

print("9.Swap")

print("10.Factors")

print("11.LCM")

print("12.HCF")

print("13.Odd or Even")

print("14.Factorial")

print("15.Absolute")

print("16.Power")

print("17.Sin")

print("18.Cos")

print("19.Tan")

print("20.Radian")

choice = input("Enter choice(1-20): ")

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("Floor:", floor(num1,num2))

elif choice == '6':

print(num1,"** ",num2,"=", exponent(num1,num2))

elif choice == '7':

print(num1," % ",num2,"=", remainder(num1,num2))

elif choice == '8':

print("Square:", square(num1,num2))

elif choice == '9':

print("Swap:", swap(num1,num2))    

elif choice == '10':

print(factors(num1)) 

elif choice == '11':

print("LCM is:", lcm(num1,num2)) 

elif choice == '12':

print("HCF is:", hcf(num1,num2))   

elif choice == '13':

   print(odd_even(num1))

elif choice == '14':

  print("Factorial is:", factorial(num1))

elif choice == '15':

  print("Absolute value is:", absoulute(num1))

elif choice == '16':

  print("Power:", power(num1, num2))

elif choice == '17':

  print("Sin:", sin(num1))

elif choice == '18':

  print("Cos:", cos(num1))

elif choice == '19':

  print("Tan:", tan(num1))

elif choice == '20':

  print("Radian:", radian(num1))

else:

   print("Invalid input")

欢迎来到堆栈溢出!要获得有用的帮助,请查看。特别是,请尽量把你的问题具体化。此外,如果你想提出具体的批评,也许是一个更好的提问方式。(作为如何改进它的第一个建议,您可以将其格式设置为更易于阅读。缩进为4个空格的倍数,除了函数之间,不要添加空行,以使代码更易于阅读。)在粗略概述中,我可以说,您可以使用内置的
pow
函数,而不是定义自己的
exponent
函数,并且大多数其他函数可以从or模块导入。另外,Python中的
swap
可以写成
x,y=y,x
defswap(x,y):返回y,x
(但它作为函数没有用处)。可以删除一些空行以缩短它。不要创建函数
sin()
,而是直接使用
math.sin()
——这样会减少代码。与其他
math
函数一起使用Silimar。制作一个字典
{user\u response:function\u name,…}
,然后选择包含用户响应的函数。。使用一个长字符串提示用户执行所需操作。