为If Else语句Python创建类/ Def

时间:2016-12-11 16:53:57

标签: python function class if-statement methods

所以我正在编写一个简单的python程序来询问数学问题。它目前完全正常,但我想尝试压缩代码。用户可以选择6个菜单项,每个菜单项都有一个加法,减法,乘法.....并且每个菜单最后都有以下代码来检查用户是否想要继续或尝试不同的菜单项。

contC = input()
        if contC == "Y" or contC == "y":
            cont = True

        elif contC == "N" or contC =="n":
            cont = False

这个代码是在每个菜单选项中,我想创建一个方法,以便能够用于所有这些,一个类或一个def?我尝试了不同的东西,但似乎无法得到任何工作。

2 个答案:

答案 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.nameself.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)