Python:如何使这段代码变得更好?
WAP使用功能概念创建数学应用程序添加至少20-25个功能每个功能和用户输入的不同功能,以便根据功能选择任何功能要求用户输入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
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,…}
,然后选择包含用户响应的函数。。使用一个长字符串提示用户执行所需操作。