周考一、周考二

一、周考一:

1、简述什么是编程

编写控制计算机的指令,奴役计算机完成我们想让计算机完成的事

2、简述什么是编程语言

按照某种规范编写出来的计算机指令,根据不同规范诞生了不同的编程语言

3、编程语言的分类与特点描述

机器语言 - 运行效率高 汇编语言 - 增加可读性 高级语言 - 开发效率高

4、高级语言分类与工作原理简介

编译型 - 先编译在执行 解释性 - 边解释边执行

5、介绍你知道的编程语言

C Java Python

6、要在一个新电脑上运行python程序,需要进行哪些一步步操作

安装python解释器 配置环境变量 运行python程序 或者: 安装python解释器 安装python编辑器选取解释器 运行python程序

7、解释一下什么是变量

计算机运行过程中,状态可以发生改变的量

8、python中如何定义变量,并简述定义变量的流程

变量名 = 变量值 num = 10

9、简述变量名的命名规范

可以由字母数字及下划线组成 不能以数字开头 不能与系统关键字重名

10、定义的变量拥有的三要素,python中如何查看它们,用代码简述

num = 10 值:num 类型:type(num) 地址:id(num)

 

12、常用的数据类型有哪些(文字或英文解释)

bool int float str list tuple dict set 

13、用代码简述常用数据类型的定义声明

a = 10
b = 3.14
c = ''
d = [1, 2, 3]
e = (1, 2, 3)
f = {'name': 'Bob', 'age': 18}
g = {1, 2, 3}


16、在python3环境下,实现从键盘录入分数(只考虑0~100的合法分数),实现有(满分|通过|未通过)三种输出结果

grade = int(input('grade: '))
if grade == 100:
    print('满分')
elif grade >= 60:
    print('通过')
else:
    print('未通过')

17、录入一个学生的两门成绩,如果两门都及格,则打印 "通过",否则 "不通过"

g1 = int(input('class1 grade: '))
g2 = int(input('class2 grade: '))
if g1 >= 60 and g2 >= 60:
    print('通过')
else:
    print('不通过')

18、录入两个人的身高,打印是否存在 "存在180cm已上大高个" | "不存在180cm已上大高个"

h1 = int(input('person1 height: '))
h2 = int(input('person2 height: '))
if h1 > 180 or h2 > 180:
    print('存在180cm已上大高个')
else:
    print('不存在180cm已上大高个')

19、从键盘录入学生分数,录入Q时退出录入,实现统计录入的次数

count = 0
while True:
    grade = input('grade: ')
    if grade != 'Q': 
        break
    count += 1
print(count)

20、学生进行两门课考试,第一门未通过一直重考,通过后进入第二门考试,未通过一直重考第二门,通过后打印 "通过" 并结束考试(通过输入考试成绩模拟考试)

is_over = False
while not is_over:
    g1 = int(input('grade1: '))
    if g1 >= 60:
        while True:
            g2 = int(input('grade2: '))
            if g2 >=60:
                print('通过')
                is_over = True
                break

21、取出 "abc123好" 中的汉字

s =  "abc123好"
print(s[-1:])

22、键盘上录入usr和pwd,一次性分两行打印:

账号为:***

密码为:***

usr = input('usr: ')
pwd = input('pwd: ')
print('''账号为:%s
密码为:%s''' % (usr, pwd))

 
23-25:

辅助23~25: "今天天气好晴朗,天上彩云一朵朵,比昨天好!"

23、计算字符串长度、"天"出现的次数、"彩"是否出现过

24、获取字符串中标识时间的子字符串

25、判断字符串是否以 "!" 结尾,如果是替换为 "。"

s =  "今天天气好晴朗,天上彩云一朵朵,比昨天好!"
print(len(s),
s.count('')
 '' in s

print(s[:2], s[-4:-2])

if s.endswith(''):
    s = s.replace('', '')
print(s)

26、完成 "1@2@3@4@5" 与 ['1', '2', '3', '4', '5'] 之间的相互转换

"1@2@3@4@5".split('@')
'@'.join(['1', '2', '3', '4', '5'])

27、利用添加append及插入insert的两种方式,在 [1, 2, 3, 4, 5] 列表的最后插入6和7

ls = [1, 2, 3, 4, 5]
ls.append(6)
ls.insert(len(ls), 7)

28、将以下信息转换为字典结构存储 [  ('name',  'Bob'),   ('age',  18),   ('gender',  'male')  ]

ls = [('name', 'Bob'), ('age', 18), ('gender', 'male')]
dic = {}
for k, v in ls:
    dic[k] = v
print(dic)

29、选取一种数据结构存储两个学生的选课信息

Bob:语文、政治、英语

Tom:高数、线代、英语

问:只被Tom选择了的课程;两个人都选择了的课程、被选的所有课程

bob = {'英文', '语文', '政治'}
tom = {'英文', '高数', '线代'}
print(tom - bob)
print(bob & tom)
print(bob | tom)

30、简述列表、元组、字典、集合几个数据类型的特点:取值依据|是否可变|有序无序|值能否重复

列表:索引,可变,有序,能
元组:索引,不可变,有序,能
字典:key,可变,无序,能
集合:无,可变,无序,不能

31、复制source.mp4为target.mp4

with open('source.mp4', 'rb') as f1, open('target.mp4', 'wb') as f2:
    for line in f1:
        f2.write(line)

二、周考二:

1、解释⼀下什么是函数,使⽤函数有哪些优点

可以完成特定功能的代码块,
函数就是存放代码块的容器,是可以重复利用的工具。 

优点:功能需要扩展时只要修改函数即可,降低维护成本;
 减少代码冗余;
增加程序可读性,让代码组织结构清晰。

2、简述函数的四个组成部分与其作

函数名:调用函数的依据 

函数体:执行功能的代码块 

参数列表:完成功能需要的条件信息 

返回值:功能完成的反馈结果 

3、简述实参与形参的分类,传参规则是什么

实参可分为:位置实参, 关键字实参(用*,**解压本质上还是这两个) 

形参可分为:位置形参, 默认形参, 可变长形参 

用法:
1.位置参数得写在关键字参数(默认参数)之前 

2.*args得写在位置形参之后,默认形参之前 

3. **kwargs得写在默认形参之后 """ 

4、什么是可迭代对象,什么是迭代器对象?

1.可迭代对象有且只有__iter__()方法;迭代器对象既有__iter__()也有__next__() 

2.可迭代对象是指可以通过__iter__()转换成迭代器对象的对象 

5、如何区别于有名函数来定义⼀个匿名函数,写出定义语法并说出区别点

 lambda 参数们:返回值表达式 匿名函数用lambda关键字声明。与有名函数相比,匿名函数没有函数名和函数体,参数也省略了() 

6、写出while循环利⽤迭代取值⽅式来获取列表[3, 1, 5, 2, 4]中的值(不能使⽤索引)

l = [3, 1, 5, 2, 4]
l2 = l.__iter__()
i = 0
while i < len(l):
    print(l2.__next__())
    i += 1

7、列举常⻅的内置函数?(⾄少5种)

max()  min()  sorted()  isinstance()  len()  
open()  range()  type()  enumerate()

8、利⽤函数求出字典中,薪资最⾼的⼈:{"Bob": 36000, 'Tom': 27000}

dic = {"Bob": 36000, 'Tom': 27000}
res = max(dic, key=lambda k: dic[k])
print(res)

9、利⽤列表推导式,产⽣这样的⼀个列表:[6, 6, 6]

res = [6 for I in range(3)]
print(res)

10、现有字典 d={‘a’:24,’g’:52,’l’:12,’k’:33}请使⽤函数的内置⽅法按字典中的 value 值进⾏排序?

d = {'a': 24, 'g': 52, 'l': 12, 'k': 33}
print(sorted(d,key=lambda k:d[k]))

11、什么是装饰器,装饰器的作⽤是什么?

装饰器的本质也是一个函数
在不改变原有函数源代码和函数调用方式的情况下,在函数的内部调用原有函数,
通过闭包对原有函数的功能进行增添。

12、求结果:

print([i % 2 for i in range(10)])
# [0, 1, 0, 1, 0, 1, 0, 1, 0, 1]
print({i: v for i, v in enumerate(['a', 'b', 'c', 'd'], start=1)})
# {1: 'a', 2: 'b', 3: 'c', 4: 'd'}

13、⽤列表推导式产⽣:[1,4,9,16,25,36,49,64,81,100]

res = [k*k for k in range(1, 11)]
print(res)

14、以下代码的输出结果

def extendlist(val, ls=[]):
 ls.append(val)
 return ls
list1 = extendlist(10)
list2 = extendlist(123, [])
list3 = extendlist('a')
print("list1 = %s" % list1)   # list1 = [10, 'a']
print("list2 = %s" % list2)   # list2 = [123]
print("list3 = %s" % list3)   # list3 = [10, 'a']

15、写出⼀下函数的输出结果

def fn1(*arg):
    print(arg)
fn1([1, 2, 3])   #([1, 2, 3],)
fn1(*[1, 2, 3])   # (1, 2, 3)

16、利⽤代码实现将1~100之间所有可以整除3的输出存放到⼀个列表中

方法一
lis = []
for i in range(1,101):
    if i % 3 == 0:
       lis.append(i)
print(lis)


方法二
lis = [i for i in range(1,101) if i % 3 == 0]
print(lis)

17、写出 isinstance(True, bool) 与 isinstance(True, int) 的结果

True
True

18、函数实现过滤掉列表中所有的奇数[1, 2, 3, 4, 5, 6, 7, 8]

lis = []
def fn():
    for i in range(1,9):
        if i % 2 == 0:
         lis.append(i)
fn()
print(lis)

19、写出两次打印结果

x = list(range(10))
print(x)   # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
del x[::2]
print(x)   # [1, 3, 5, 7, 9]

20、求结果

v = dict.fromkeys(['k1', 'k2'], [])

v['k1'].append(666)
print(v)     # {'k1': [666], 'k2': [666]}
v['k1'] = 777
print(v)      # {'k1': 777, 'k2': [666]}

21、什么是递归,完成询问年龄的递归,第⼀个⼈年纪10岁,后⼀个⼈是前⼀个⼈年纪的3倍,依次 类推,求第三个⼈年纪

def fn(num):
    if num == 1:
        return 10
    age = fn(num-1)*3
    return age
res = fn(10)
print(res)

22、完成简易版购物

只有登录与购物功能,但购物必须在登录后才能完成,账号信息全存放在user.txt⽂件中,

⽂件内容:Bob|000|10000

1、登录:验证账号密码完成登录,账号必须纯英⽂,三个及以上字符,密码必须为字⺟数字组成,也 必须三个及以上字符

2、购物:输⼊1完成购物,输⼊0取消购物,输⼊错误,重新输

3、为购物功能添加登录认证装饰器,没有登录,进⼊登录,登录后直接登录

猜你喜欢

转载自www.cnblogs.com/zhangguosheng1121/p/10726244.html