python 3級メニューを書く

2998 ワード

# -*- coding: utf-8 -*-
__author__ = 'am_mm_NO.1'
import re
memu = {
    "  ":{
        "   ":{
            "   ":['   1','   2'],
            "  ":['  1','  2'],},
        "   ":{
            "  ":['  1','  2','  3'],
            "  ":['  1','  2'],
                },
            },
    '  ':{
        '   ':{
            '  ':['  1','  2'],
            '  ':['  1','  2'],
                },
        '   ':{
            '    ':['    1','    2','    3'],
            '  ':['  1','  2']
                },

        },
    }
flag = True
while flag: #     ,        
    for i,v in enumerate(memu.keys()): #       
        print i,v #      key,value
    num_1=raw_input("        , q  :").strip()  #      
    if num_1 == 'q':
        flag = False
        break
    if num_1.isdigit():
        num_1=int(num_1)
        if num_1<= len(memu):
            key_1 = memu.keys()[num_1]
            while flag:
                for i1,v1 in enumerate(memu[key_1]):
                    print i1,v1
                num_2 = raw_input("        , q  ,b  :").strip()
                if num_2 == 'q':
                    flag = False
                    break
                if num_2 == 'b':
                    break
                if num_2.isdigit():
                    num_2 = int(num_2)
                    if num_2 <= len(memu[key_1]):
                        key_2 = memu[key_1].keys()[num_2]
                        while flag:
                            for i2,v2 in enumerate(memu[key_1][key_2]):
                                print i2 ,v2
                            num_3 = raw_input("        , q  ,b  :").strip()
                            if num_3 == 'q':
                                flag = False
                                break
                            if num_3 == 'b':
                                break
                            if num_3.isdigit():
                                num_3 = int(num_3)
                                if num_3 <= len(memu[key_1][key_2]):
                                    key_3 = memu[key_1][key_2].keys()[num_3]
                                    while flag:
                                        for i3,v3 in enumerate(memu[key_1][key_2][key_3]):
                                            print i3,v3
                                        num_4 = raw_input(" q  ,b  :").strip()
                                        if num_4 == 'q':
                                            flag = False
                                            break
                                        if num_4 == 'b':
                                            break