所以我正在编写一个简单的python程序来询问数学问题。它目前完全正常,但我想尝试压缩代码。用户可以选择6个菜单项,每个菜单项都有一个加法,减法,乘法.....并且每个菜单最后都有以下代码来检查用户是否想要继续或尝试不同的菜单项。
contC = input()
if contC == "Y" or contC == "y":
cont = True
elif contC == "N" or contC =="n":
cont = False
这个代码是在每个菜单选项中,我想创建一个方法,以便能够用于所有这些,一个类或一个def?我尝试了不同的东西,但似乎无法得到任何工作。
答案 0 :(得分:0)
尝试使用:
def AskMethod(Operation):
while True:
print("Do you want to do " + Operation.name)
Answer = input()
if Answer.lower() in 'yes':
Operation.use() # Or return Operation. However you do it
return False
elif Answer.lower() in 'no':
return True
else:
print("Please choose yes or no.")
for i in Ops:
Continue = Ask(i)
if Continue == False:
break
要使用它,您需要创建一个op类,以及一个包含所需操作的ops
数组。您还必须添加self.name
和self.use
。希望我帮忙。
答案 1 :(得分:-1)
制作方法
def should_continue(user_input):
if user_input in ('y', 'Y'):
return True
if user_input in ('n', 'N'):
return False
raise ValueError("please enter y/n")
然后只是
user_text = input()
cont = should_continue(user_input)