gpt4 book ai didi

python - python中有没有一个命令可以让你重新执行刚刚执行过的函数?

转载 作者:行者123 更新时间:2023-12-01 07:43:09 37 4
gpt4 key购买 nike

我正在编写一个通用数学方程计算器,用于计算 2D 形状的面积/周长、3D 形状的表面积/体积,以及我将来决定构建的任何公式。

我正在尝试构建一个函数,让用户决定是否要再次使用已经使用过的方程。

如果我在程序的每个部分都创建一个具有相同目的的函数(我已经尝试过),那么效率会很低。

def triangledecision():
print("Input 1 if you would like to calculate the area/perimeter of this shape again")
print("Input 2 if you would like to return to the 2D shape menu")
print("Input 3 if you would like to return to the main menu")
answer = input()

if answer == "1":
triangle()

if answer == "2":
twodshapes()

if answer == "3":
main()

else:
while answer != "1" or "2" or "3":
print("Please select one of the options")
triangledecision()

这个函数按预期工作,但是,我必须为每个部分创建相同的函数,这既耗时又低效。

最佳答案

您可以使用装饰器之类的东西来实现这一点。我有点困惑你的要求,但我假设你想要一个可以处理你所有操作的通用函数。我会创建一个重试包装器。

def retry(func):
def wrapper(*args, **kwargs):
while True:
func(*args, **kwargs)
answer = input('if would you like to calculate the area or perimeter of this shape again, enter 1: ')
if answer != '1':
break
return
return wrapper

然后你在你的函数上使用@retry。例如:

@retry
def square_perimeter():
#whatever your code is

使用此功能,您可以要求用户通过简单地使用 @retry 装饰器来重用任何函数。

关于python - python中有没有一个命令可以让你重新执行刚刚执行过的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56589110/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com