zoukankan      html  css  js  c++  java
  • S5第一次月考

    # Python五期月考一
    # 1 介绍
    # 满分100分,90分及格
    #
    # 考试范围:
    # 1.Python语法
    # 2.数据类型
    # 3.流程控制
    # 4.函数
    # 5.模块
    #
    # 考试时间:
    #     周五下午2.00点-5.30
    # 2 基础题(60分)
    # 1.执行python脚本的两种方式是?(1分)
    # python a.py直接调用python脚本,第一行要有#!/usr/bin/env python
    # ./a.py调用python 解释器来调用python脚本
    # 2.python如何实现单行注释和多行注释(1分)
    # 单行注释 #
    # 多行注释''''''
    # 3.在python3中bytes类型与unicode类型二者之间如何相互转换?(1分)
    # bytes--->decode--->unicode
    # unicode--->encode--->bytes
    # 4.创建一个对象有三个特性:身份id,类型,值
    # 等号比较的是什么?(1分)
    #
    # is比较的是什么?(1分)
    # id
    # 5.使用链式赋值的方式将10赋值给变量x、y、z(1分)
    # x=y=z=10
    # 6.有列表data=['alex',49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量(1分)
    # data=['alex',49,[1900,3,18]]
    # name=data[0]
    # age=data[1]
    # year=data[2][0]
    # month=data[2][1]
    # day=data[2][2]
    # 7.所有数据类型自带布尔值,布尔值为假的有?(1分)
    # 0 None {} [] () ''
    # 8.常用数据类型有:字符串,列表,元组,字典,集合,请分类
    # 按照存值个数分类?(1分)
    # 一个值:数字 字符串
    # 多个值:列表 字典 集合 元组
    # 按照可变不可变类型分类?(1分)
    # 可变:列表 字典 集合
    # 不可变:字符串 数字 元组
    # 按照取值方式分类(直接取值,按索引,按key取)?(1分)
    # 直接取值:数字
    # 按索引: 字符串 列表 元组
    # 按key:字典
    # 按照有序无序分类?(1分)
    # 有序:字符串 列表 元组 数字
    # 无序:字典 集合
    # 9.阅读代码,请写出执行结果 (1分)
    # a = "alex"
    # b = a.capitalize()
    # print(a)
    # print(b)
    # 执行结果是alex,Alex
    # 10.阅读代码,请写出执行结果
    # 代码一:(1分)
    # if True or False and False:
    #     print('yes')
    # else:
    #     print('no')
    # and优先级比or更高,先计算 False and False,得到False,True or False得到True,输出的是yes
    # 代码二:(1分)
    # if (True or False) and False:
    #     print('yes')
    # else:
    #     print('no')
    #括号优先级比and更高,先计算括号里的True or False,得到True,True and False 得到False,输出no
    # 11.写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分)
    # name = " aleX"
    # 1)移除 name 变量对应的值两边的空格,并输出处理结果
    # print(name.strip())
    # 2)判断 name 变量对应的值是否以 "al" 开头,并输出结果# print(name.startswith('al'))
    # 3)判断 name 变量对应的值是否以 "X" 结尾,并输出结果# print(name.endswith('X'))
    # 4)将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
    # print(name.replace('l','p'))
    # 5)将 name 变量对应的值根据 “l” 分割,并输出结果。
    # print(name.split('l'))
    # 6)将 name 变量对应的值变大写,并输出结果# print(name.upper())
    # 7)将 name 变量对应的值变小写,并输出结果# print(name.lower())
    # 8)请输出 name 变量对应的值的第 2 个字符?
    # print(name[1])
    # 9)请输出 name 变量对应的值的前 3 个字符?
    # print(name[:3])
    # 10)请输出 name 变量对应的值的后 2 个字符?# print(name[-2:])
    # 11)请输出 name 变量对应的值中 “e” 所在索引位置?# print(name.index('e'))
    # 12)获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
    # print(name[:-1])
    # 12.输出1-100内所有的奇数(1分)
    # for i in range(1,101):
    #     if i%2==1:
    #         print(i)
    # 13.使用while循环输出1 2 3 4 5 6     8 9 10(1分)
    # n=0
    # while n<10:
    #     n+=1
    #     if n==7:
    #         continue
    #     print(n)
    # 14.求1-2+3-4+5 ... 99的所有数的和(1分)
    # n=0
    # s=0
    # while n<99:
    #     n+=1
    #     if n%2==1:
    #         s+=n
    #     elif n%2==0:
    #         s-=n
    # print(s)
    # 15.编写for循环,利用索引遍历出每一个字符(1分)
    # msg='hello egon 666'
    # for i in range(len(msg)):
    #     print(msg[i])
    # 16.编写while循环,利用索引遍历出每一个字符(1分)
    # msg='hello egon 666'
    # n=0
    # while n<len(msg):
    #     print(msg[n])
    #     n+=1
    # 17.有变量msg='/etc/a.txt|365|get'(1分)
    # 将该变量中的文件名,文件大小,操作方法切割出来
    # msg='/etc/a.txt|365|get'
    # a=msg.split('|')
    # b=a[0].split('/')
    # print(b[2],a[1],a[2])
    # 18.msg='hello alex'中的alex替换成SB(1分)
    # msg='hello alex'
    # print(msg.replace('alex','SB'))
    # 19.编写while循环,让用户输入用户名和密码,如果用户为空或者数字,则重新输入(1分)
    # while True:
    #     user=input('user:')
    #     pwd=input('passwd:')
    #     if not user or user.isdigit():
    #         continue
    #     break
    # 20.有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。(2分)
    # 即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
    # a = [11,22,33,44,55,66,77,88,99]
    # b = []
    # c = []
    # dict = {"k1":b,"k2":c}
    # for i in a:
    #     if i >66:
    #         b.append(i)
    #     if i <66:
    #         c.append(i)
    # print(dict)
    # 21.有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
    # pythons={'alex','egon','yuanhao','wupeiqi','cobila','biubiu'}
    # linuxs={'wupeiqi','oldboy','cobila'}
    # 求出即报名python又报名linux课程的学员名字集合(2分)
    # print(pythons&linuxs)
    # 求出所有报名的学生名字集合(2分)
    # print(pythons|linuxs)
    # 求出只报名python课程的学员名字(2分)
    # print(pythons-linuxs)
    # 求出没有同时这两门课程的学员名字集合(2分)
    # print(pythons^linuxs)
    # 22.统计s='hello alex alex say hello sb sb'中每个单词的个数(3分)
    # 结果如下:
    # {'hello': 2, 'alex': 2, 'say': 1, 'sb': 2}
    # s='hello alex alex say hello sb sb'
    # l=s.split()
    # s=set(l)
    # dict={}
    # for i in s:
    #     dict[i]=l.count(i)
    # print(dict)
    # 第二种
    # s='hello alex alex say hello sb sb'
    # l=s.split()
    # dic={}
    # for key in l:
    #     if key in dic:
    #         dic[key]+=1
    #     else:
    #         dic[key]=1
    # print(dic)
    
    # 23.简述什么是可迭代对象与迭代器对象?(2分)
    # 有__iter__的是可迭代对象
    # 有__next__的是迭代器对象
    # 判断下列数据类型是可迭代对象or迭代器(2分)
    # s='hello'
    # l=[1,2,3,4]
    # t=(1,2,3)
    # d={'a':1}
    # set={1,2,3}
    # f=open('a.txt')
    #         分别用依赖索引和不依赖索引两种方式迭代上述对象(2分)
    # from collections import Iterable
    # from collections import Iterator
    # s='hello'
    # l=[1,2,3,4]
    # t=(1,2,3)
    # d={'a':1}
    # set={1,2,3}
    # f=open('a.txt')
    # print(isinstance(s,Iterable))
    # print(isinstance(l,Iterable))
    # print(isinstance(t,Iterable))
    # print(isinstance(d,Iterable))
    # print(isinstance(set,Iterable))
    # print(isinstance(f,Iterable))
    #
    # print(isinstance(s,Iterator))
    # print(isinstance(l,Iterator))
    # print(isinstance(t,Iterator))
    # print(isinstance(d,Iterator))
    # print(isinstance(set,Iterator))
    # print(isinstance(f,Iterator))
    # 都是可迭代对象,f是迭代器
    # for i in range(len(s)):
    #     print(s[i])
    # for i in s:
    #     print(i)
    # for i in range(len(l)):
    #     print(l[i])
    # for i in l:
    #     print(i)
    # for i in range(len(t)):
    #     print(t[i])
    # for i in t:
    #     print(i)
    # for i in d:
    #     print(i)
    # for i in f:
    #     print(i)
    # 24.文件a.txt内容:每一行内容分别为商品名字,价钱,个数
    # apple 10 3
    # tesla 100000 1
    # mac 3000 2
    # lenovo 30000 3
    # chicken 10 3
    # 要求一:使用列表解析,从文件a.txt中取出每一行,做成下述格式(2分)
    # [{‘name’:'apple','price':10,'count':3},{...},{...},...]
    # with open('a.txt','w',encoding='utf-8')as f:
    #     f.write('apple 10 3
    tesla 100000 1
    mac 3000 2
    lenovo 30000 3
    chicken 10 3')
    # with open('a.txt',encoding='utf-8')as f:
    #     l=[{'name':line.split()[0],'price':line.split()[1],'count':line.split()[2]} for line in f]
    # print(l)
    # 要求二:求出总共消费了多少钱(5分)
    # res=sum(float(good['price']) * int(good['count']) for good in l)
    # print(res)
    # 25.写函数,计算传入字符串中【数字】、【字母】、【空格】 以及 【其他】的个数,并返回结果,如{‘num’:3,’str’:2,’space’:3,’others’:3}(5分)
    # def func(n):
    #     num1=0
    #     num2=0
    #     num3=0
    #     num4=0
    #     for i in n:
    #         if i.isdigit():
    #             num1+=1
    #         elif i.isspace():
    #             num2+=1
    #         elif i.isalpha():
    #             num3+=1
    #         else:
    #             num4+=1
    #     print({'num':num1,'str':num2,'space':num3,'others':num4})
    # func(input('请输入:'))
    # 3 综合题(40分)
    # 1.利用递归调用,取出[1,[2,3,[4,5,[6,7,[8,[9,10,[11,[12,[13,14,15]]]]]]]]]中所有的值(10分)
    # l=[1,[2,3,[4,5,[6,7,[8,[9,10,[11,[12,[13,14,15]]]]]]]]]
    # def foo(l):
    #     for i in l:
    #         if type(i)==list:#if isinstance(i,list):
    #             foo(i)
    #         else:
    #             print(i)
    # foo(l)
    # 2.编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件),要求登录成功一次,后续的函数都无需再输入用户名和密码(10分)
    # 注意:从文件中读出字符串形式的字典,可以用json或pickle
    # user_dic={
    #     'z':'123',
    #     'x':'456',
    #     'y':'789',
    # }
    # with open('db.txt','w',encoding='utf-8') as f:
    #     f.write(str(user_dic))
    # with open('db.txt','r',encoding='utf-8') as f:
    #     res=f.read()
    #     user_dic=eval(res)
    # db_path='db.txt'
    # login_dic={
    #     'user':None,
    #     'status':False,
    # }
    # def auth(func):
    #     def wrapper(*args,**kwargs):
    #         if login_dic['user'] and login_dic['status']:
    #             res = func(*args, **kwargs)
    #             return res
    #         name=input('your name: ')
    #         password=input('your password: ')
    #         with open(db_path,'r',encoding='utf-8') as f:
    #             user_dic=eval(f.read())
    #         if name in user_dic and password == user_dic[name]:
    #                 print('login ok')
    #                 login_dic['user']=name
    #                 login_dic['status']=True
    #                 res=func(*args,**kwargs)
    #                 return res
    #         else:
    #             print('login err')
    #     return wrapper
    # @auth
    # def index():
    #     print('welecome to index')
    # @auth
    # def home(name):
    #     print('welecome %s to home page' %name)
    # index()
    # home('z')
    #标准答案
    # import json
    # db_path=r'E:Pycharmlx基础,函数,装饰器,模块,包homework
    .txt'
    #
    # login_dic={
    #     'user':None,
    #     'status':False
    # }
    # def auth(func):
    #     def wrapper(*args,**kwargs):
    #         if login_dic['user'] and login_dic['status']:
    #             res = func(*args,**kwargs)
    #             return res
    #         name=input('your name:')
    #         pwd=input('your pwd:')
    #         with open(db_path,'r',encoding='utf8') as f:
    #             user_dic=json.loads(f.read())
    #             if name in user_dic and pwd == user_dic[name]:
    #                 print('login ok')
    #                 login_dic['user']=name
    #                 login_dic['status']=True
    #                 res=func(*args,**kwargs)
    #                 return res
    #             else:
    #                 print('login error')
    #     return wrapper
    # @auth
    # def index():
    #     print('welcome to index page')
    #
    # @auth
    # def home():
    #     print('welcome to home page')
    # index()
    # home()
    # 3.编写函数实现每次执行函数都得到一个唯一的哈希值(可以使用time.clock()作为哈希的依据,来保证每次哈希得到的值都不一样) (10分)
    # import time,hashlib
    # def func():
    #     md5=hashlib.md5()
    #     t=str(time.clock()).encode('utf8')
    #     md5.update(t)
    #     return md5.hexdigest()
    # 4.一个文件夹中,存在多个文件,包括图片,视频,文本等等,遍历出时间在2017-06-05至2017-06-09这段时间内创建的所有文件
    # 具体文件夹,自己创建。(10分)
    # import os
    # import time
    # start=time.mktime(time.strptime('2017-06-05','%Y-%m-%d'))
    # stop=time.mktime(time.strptime('2017-06-09','%Y-%m-%d'))
    # g=os.walk(r'D:py3.6保存代码py_fullstack_s5作业')
    # for far_dir,sub_dir,files in g:
    #     for file in files:
    #         b=r'%s\%s'%(far_dir,file)#文件与路径的拼接
    #         f=os.stat(b).st_ctime
    #         if f >= start and f <= stop:
    #             print(b)
    #标准
    # import time
    # import os
    # def file_time():
    #     start=time.mktime(time.strptime('2017-06-20','%Y-%m-%d'))
    #     stop=time.mktime(time.strptime('2017-06-26','%Y-%m-%d'))
    #     g=os.walk(r'D:mypythondemo2')
    #     for dir,_,files in g:
    #         for file in files:
    #             file_path=os.path.join(dir,file)
    #             file_stamp=os.path.getctime(file_path)
    #             if start< file_stamp <stop:
    #                 ret = time.strftime('%Y-%m-%d', time.localtime(file_stamp))
    #                 ret2 = os.path.join(dir, file, ret)
    #                 print(ret2)
    # file_time()
  • 相关阅读:
    前端入门flutter-05Image组件
    前端入门flutter-03Flutter目录结构介绍、入口、自定义Widget、Center组件、Text组件、MaterialApp组件、Scaffold组件
    前端入门flutter-02Dart语言学习
    前端入门flutter-01配置环境
    恋上数据结构使用什么编程语言讲解
    centOS7+:docker版本过低升级到高版本
    JAVA中List数组判断是否有重复元数
    连接数据库时username冲突
    Quartz的学习
    MySQL 服务无法启动解决途径
  • 原文地址:https://www.cnblogs.com/z-x-y/p/7213937.html
Copyright © 2011-2022 走看看