Python各类题型题目(包括三级菜单)

简介: Python各类题型题目(包括三级菜单)

目录

题目一:判断题

答案

字典型

字典的两种定义方法:

题目二、判断题

题目三:三级菜单

题目解析:

我的答案:


题目一:判断题

判断题:如果一个列表、元组、字典、集合中元素非常多,可以拆分成多行,并且一般在其中部分元素后面的逗号后面进行换行

答案

字典型

字典是一种可变的容器数据类型,里面可以存储各种数据类型,字典使用的是键值对,并且使用:分割,每一个键值对之间使用,分割,并且全部包含在一个花括号中,并且键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

字典的两种定义方法:

第一种:

d = {'k1':'v1','k2':'v2',……,'kn':'vn'}


第二种:

d = dict(['k1':'v1'],['k2':'v2'])


题目二、判断题

1、判断题:放在一对三号之间的任何内容都会被Python解释器以为是注释。

答案

1、错        解析:

三引号’’'或"""表示的字符串可以换行,支持排版较为复 杂的字符串;三引号还可以在程序中表示较长的注(注释:放在一对三引号之间的任何内容将被认为是注释。字符串的运算

题目三:三级菜单

一.作业需求:

   1. 运行程序输出第一级菜单

   2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单

   3. 菜单数据保存在文件中

   4. 让用户选择是否要退出

   5. 有返回上一级菜单的功能

menu = {
    '北京': {
        '海淀': {
            '五道口': {
                'soho': {},
                '网易': {},
                'google': {}
            },
            '中关村': {
                '爱奇艺': {},
                '汽车之家': {},
                'youku': {},
            },
            '上地': {
                '百度': {},
            },
        },
        '昌平': {
            '沙河': {
                '老男孩': {},
                '北航': {},
            },
            '天通苑': {},
            '回龙观': {},
        },
        '朝阳': {},
        '东城': {},
    },
    '上海': {
        '闵行': {
            "人民广场": {
                '炸鸡店': {}
            }
        },
        '闸北': {
            '火车站': {
                '携程': {}
            }
        },
        '浦东': {},
    },
    '山东': {},
}

题目解析:

本道题目难度一般,主要考察的是函数的基本使用,和循环语句的用法

以下就是函数的用法:

函数的使用必须遵循‘先定义,后调用’的原则。函数的定义就相当于事先将函数体代码保存起来,然后将内存地址赋值给函数名,函数名就是对这段代码的引用,这和变量的定义是相似的。没有事先定义函数而直接调用,就相当于在引用一个不存在的‘变量名’。

1、def:定义函数的关键字,并且与函数名要隔一定的距离

2,函数名:函数名指向函数内存地址,是对函数体代码的引用。函数的命名应该反映出函数的功能;

3,括号:括号就是触发函数体代码的执行,括号内定义参数,参数是可有可无的,而且无需指定参数的类型;

4,冒号;括号后要加冒号,然后在下一行开始缩进编写函数体的代码;

5,""“文档描述”"":描述函数功能,参数介绍等信息的文档,非必要,但是建议加上,从而增强函数的可读性;

6,函数体:由语句和表达式组成;

7,return值:定义函数的返回值,return是可有可无的。

我的答案:

import sys
def list_first():
    print('ᛧ------第一层地点-----------ᛧ')
    for key1 in menu:
        print(key1,end='    ')
    print()
    print('ᑊ--------------------------ᑊ')
def structure1(choose1):
    while choose1 != 'q':
        global one
        one = choose1
        if one in menu:
            print('ᛧ------第二层地点-----------ᛧ')
            for key1 in menu[one]:
               print(key1,end='    ')
            print()
            print('ᑊ--------------------------ᑊ')
            structure2(input('请输入你要查看的第二层>>>').strip())
            break
        elif choose1 == 'b':
            print('|----这是第一层,没有上一层呀老弟!!-----|')
            print("|如果要退出请按'q',不退出就正确选择下一层|")
            structure1(input('选择你要查看的第一层>>>').strip())
            break
        else:
            structure1(input('看清楚第一层再输呀老弟>>>').strip())
    else:
        sys.exit()
def structure2(choose2):
    while choose2 != 'q':
        global two
        two = choose2
        if two in menu[one]:
            print('ᛧ------第三层地点-----------ᛧ')
            for key2 in menu[one][two]:
                print(key2,end='    ')
            print()
            print('ᑊ--------------------------ᑊ')
            structure3(input('请输入你要查看的第三层>>>').strip())
            break
        elif choose2 == 'b':
            list_first()
            structure1(input('选择你要查看的第一层>>>').strip())
            break
        else:
            structure2(input('看清楚第二层再输呀老弟>>>').strip())
    else:
        sys.exit()
def structure3(choose3):
    while choose3 != 'q':
        global three
        three = choose3
        if three in menu[one][two]:
            print('ᛧ------最后层地点-----------ᛧ')
            for key3 in menu[one][two][three]:
                print(key3,end='    ')
            print()
            print('ᑊ--------------------------ᑊ')
            ber_quit(input('呜呜呜我是最后一层了,要退回上一层请按‘b’,退出请按‘q’>>>').strip())
        elif choose3 == 'b':
            print('ᛧ------第三层地点-----------ᛧ')
            for key2 in menu[one]:
                print(key2, end='    ')
            print()
            print('ᑊ--------------------------ᑊ')
            structure2(input('选择你要查看的第二层>>>').strip())
            break
        else:
            structure3(input('看清楚第三层再输呀老弟>>>').strip())
    else:
        sys.exit()
def ber_quit(choose4):
    while choose4 != 'q':  # 输入q退出
        if choose4 == 'b':  # 输入b退回上一层
            structure2(two)
        else:
            ber_quit(input("真的是最后一层了,别再输入其它了,退回上一层请按'b',退出请按'q'>>>").strip())  # 声明结束
    else:
        sys.exit()
print("退出请按'q',返回上级菜单请按'b'")
list_first()
structure1(input('选择你要查看的第一层>>>').strip())
相关文章
|
3月前
|
SQL 数据采集 算法
LeetCode 题目 66:加一【python5种算法实现】
LeetCode 题目 66:加一【python5种算法实现】
|
3月前
|
存储 算法 数据挖掘
python 数学+减治、下一个排列法、DFS回溯法实现:第 k 个排列【LeetCode 题目 60】
python 数学+减治、下一个排列法、DFS回溯法实现:第 k 个排列【LeetCode 题目 60】
|
1月前
|
存储 数据可视化 数据安全/隐私保护
【python】python图书管理系统_普通用户+管理员菜单(源码+论文)【独一无二】
【python】python图书管理系统_普通用户+管理员菜单(源码+论文)【独一无二】
|
3月前
|
SQL 算法 数据可视化
leetcode题目69:x的平方根【python】
leetcode题目69:x的平方根【python】
leetcode题目69:x的平方根【python】
|
3月前
|
存储 SQL 算法
leetcode题目70:爬楼梯【python】
leetcode题目70:爬楼梯【python】
|
3月前
|
存储 SQL 算法
leetcode题目68:文本左右对齐【python】
leetcode题目68:文本左右对齐【python】
|
3月前
|
存储 SQL 算法
LeetCode 题目 65:有效数字(Valid Number)【python】
LeetCode 题目 65:有效数字(Valid Number)【python】
|
3月前
|
算法 数据挖掘 开发者
LeetCode题目55:跳跃游戏【python5种算法贪心/回溯/动态规划/优化贪心/索引哈希映射 详解】
LeetCode题目55:跳跃游戏【python5种算法贪心/回溯/动态规划/优化贪心/索引哈希映射 详解】
|
3月前
|
算法 机器人 数据挖掘
LeetCode题目54:螺旋矩阵【python4种算法实现】
LeetCode题目54:螺旋矩阵【python4种算法实现】
|
3月前
|
存储 算法 安全
LeetCode 题目 49:字母异位词分组 5种算法实现与典型应用案例【python】
LeetCode 题目 49:字母异位词分组 5种算法实现与典型应用案例【python】