其他分享
首页 > 其他分享> > Tag标签

Tag标签

作者:互联网

Tag标签适用于循环中标记状态

用法一:

#使用tag标签作为标记,while的条件为tag值,如果tag值为false,则不需要一层一层退出
tag = True
while tag:
    print("level-<<<")
    data = input("\033[1;43m请输入level1:\033[0m")
    if data == 'quit':
        tag = False
        break
    while tag:
        print("level2<<<")
        data = input("请输入level2:")
        if data == 'quit':
            tag = False
            break
        while tag:
            print("level3<<<")
            data = input("请输入level3:")
            if data == 'quit':
                tag = False
                break

好处:如果不使用tag,则在第三个循环中输入quit,则会返回上一层,需要一层层退出。使用了tag标签则不需要在意当前在哪个循环,都可退出全部的循环

 

用法二:

def feach(data):
    print("这是查询功能")
    backband_data = "backband %s\n" % data#增加拼接
    print('\033[1;43m用户查询的数据是:\033[0m',backband_data)#增加颜色
    tag = False#打标记,默认是false
    ret = []
    with open("conf.txt","r") as f:
        for i in f:
            if i == backband_data:
                tag = True#代表找到此行,则以下不执行,跳到定位的下一行
                continue
            if tag and i.startswith('backband'):#再遇到以backband开头则代表输出结束
               break
            if tag:#代表找到了该行,进行输出
                ret.append(i)
                print('\033[1;43m%s\033[0m' %i,end='')
    return ret




def add():
    pass


def change():
    pass


def delate():
    pass


if __name__ == '__main__':
    '''
    msg是注释说明
    '''
    msg = """
    1:查询
    2:添加
    3:修改
    4:删除
    5:退出
    """
    choice_dic = {
        "1": feach,
        "2": add,
        "3": change,
        "4": delate,
    }
    while True:
        print(msg)
        choice = input("请输入选择:").strip()
        if not choice:continue#如果choice为空则继续下一轮循环
        if choice == "5":#如果choice=5则退出
            break
        data = input("请输入数据:").strip()
        res = choice_dic[choice](data)#执行相应的方法
        print(res)

conf.txt内容如下:

genord
severive 0.0.0.0
kwg kw gkefskdfa
genord23r
severive 0.0.0.0
kwg kw gkefskdfa
backband www.oldboy1.org
severive 0.0.0.0
kwg kw gkefskdfa
backband www.oldboy2.org
severive 0.0.0.0
kwg kw gkefskdfa
backband www.oldboy3.org
severive 0.0.0.0
kwg kw gkefskdfa

 

标签:标签,backband,tag,choice,Tag,0.0,print,data
来源: https://www.cnblogs.com/1994-0218/p/16184154.html