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

举报
努力变强的小C 发表于 2022/09/20 20:18:18 2022/09/20
【摘要】 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())
 
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。