重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
找不到,只找到找到几道题目的答案
网站建设公司,为您提供网站建设,网站制作,网页设计及定制网站建设服务,专注于企业网站制作,高端网页制作,对成都三轮搅拌车等多个行业拥有丰富的网站建设经验的网站建设公司。专业网站设计,网站优化推广哪家好,专业成都网站推广优化,H5建站,响应式网站。
8-9 魔术师:创建一个包含魔术师名字的列表,并将其传递给一个名为show_magicians() 的函数,这个函数打印列表中每个魔术师的名字。8-10 了不起的魔术师:在你为完成练习 8-9 而编写的程序中,编写一个名为make_great() 的函数,对魔术师列表进行修改,在每个魔术师的名字中都加入字样“theGreat”。调用函数 show_magicians() ,确认魔术师列表确实变了。想问下大神怎么对魔术师列表进行修改同时又不使用新的列表,我修改了一次但是用了一个新列表的方法和原习题不符。
1.【选择】 下面哪个选项不是定义列表的正确方式?( D)
D.myList4 = 2,3,4,5
答案解析:这是定义元组的方式,而不是列表
2.【选择】根据下面表达式,a的值是:( C)
C.lo Wo
3.【填空】请写出如何切片myList[]的倒数第3~5位。
myList[-3:-5]
4.【判断】列表内元素的下标是从0开始的。( √)
5.【选择】下列Python表达式可以将列表反向并改变原列表值的是:( D)
D.myList.reverse()
答案解析:切片会生成新的列表;reversed只是生成新的迭代器;只有 list.reverse()会对原表的值进行改变
-----------
1.【判断】Python语句“x = "a","b","c"”中,x是一个元组。(√ )
2.【选择】执行下列Python语句会报错的是:( A)
A.myTuple[3] = 30
答案解析:元组是immutable(不可变)的,所以不能改变元组的值
3.【填空】使用Python内置函数,计算元组myTuple的语句是:
sum(myTuple)
4.【选择】下列关于Python的描述错误的是:( C)
C.对元组内部元素进行排序使用的是sort()
答案解析:元组不可变,所以不能对元素进行排序
------------
1.【选择】下列关于Python中字符串说法错误的是:( D)
D.Python中字符类型是char,字符串的类型是str
答案解析:python字符和字符串类型都是str
3.【填空】请写出用空格“ ”合并字符串“Jane”、“Doe”的Python语句:
"Jane" + " " + "Doe"
4.【选择】下列不是Python3中解决路径中特殊字符问题的选项是:( C)
C.s = u"D:\test"
------------
1.【选择】下列不是序列的是:(C )
C.集合
3.【选择】下面哪些操作是序列都具有的?( D)
D.以上都是
-----
1.【判断】Python中符号{}仅用在集合这一数据类型中。(B.× )
3.【填空】语句set("datascience")的结果是:
集合 {'d', 'a', 't', 's', 'c', 'i', 'e', 'n'}
4.【选择】下列关于集合的说法错误的是:(A )
A.集合具有互异性,定义集合时不允许出现相同的元素
答案解析:出现了重复也没事,会自动去重的。
7.【选择】在Python中对数据进行去重处理,一般会借助下列哪种数据类型?( C)
C.集合
---------
1.【填空】有两个列表 a = ["name","age","sex"],b = ["jonh","23","M"],请用一个语句将这两个列表转换成字典,其中列表a中的元素为“键”,列表b中的元素为“值”。
dict(zip(a, b))
2.【填空】定义一个新字典如下,用print输出dict1的结果是:
{1: 3, 2: 'a'}
4.【判断】下面对字典d的定义是正确的。(B.× )
答案解析:列表不能用做键。应该用元组('a','b')做键 。
1.以下关于程序设计语言的描述,错误的选项是:
A Python语言是一种脚本编程语言
B 汇编语言是直接操作计算机硬件的编程语言
C 程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段
D 编译和解释的区别是一次性翻译程序还是每次执行时都要翻译程序
正确答案: C
2.表达式 1001 == 0x3e7 的结果是:
A false
B False
C true
D True
正确答案: B
3.以下选项,不是Python保留字的选项是:
A del
B pass
C not
D string
正确答案: D
4.表达式 eval(‘500/10’) 的结果是:
A ‘500/10’
B 500/10
C 50
D 50.0
正确答案: D
5.表达式 type(eval(‘45’)) 的结果是:
A
B
C None
D
正确答案: D
6.表达式 pmod(20,3) 的结果是:
A 6, 2
B 6
C 2
D (6, 2)
正确答案: D
7.以下关于字符串类型的操作的描述,错误的是:
A str.replace(x,y)方法把字符串str中所有的x子串都替换成y
B 想把一个字符串str所有的字符都大写,用str.upper()
C 想获取字符串str的长度,用字符串处理函数 str.len()
D 设 x = ’aa’ ,则执行x*3的结果是‘aaaaaa’
正确答案: C
8.设 str = ‘python’,想把字符串的第一个字母大写,其他字母还是小写,正确的选项是:
A print(str[0].upper()+str[1:])
B print(str[1].upper()+str[-1:1])
C print(str[0].upper()+str[1:-1])
D print(str[1].upper()+str[2:])
正确答案: A
9.以下选项,不属于程序流程图基本元素的是:
A 循环框
B 连接点
C 判断框
D 起始框
正确答案: A
10.以下关于循环结构的描述,错误的是:
A 遍历循环使用for in 语句,其中循环结构不能是文件
B 使用range()函数可以指定for循环的次数
C for i in range(5)表示循环5次,i的值是从0到4
D 用字符串做循环结构的时候,循环的次数是字符串的长度
正确答案: A
11.执行以下程序,输入”93python22”,输出结果是:
A python9322
B python
C 93python22
D 9322
正确答案: C
A la
B 请输入整数
C pythonpython
D python
正确答案: C
A 2
B 请输入q退出:
C 3
D 1
正确答案: A
14.以下程序的输出结果是:
A 0
B 2
C UnboundLocalError
D 5
正确答案: A
A 18 None
B 10 18
C UnboundLocalError
D 18 18
正确答案: B
def test( b = 2, a = 4):
global z
z += a * b
return z
z = 10
print(test(),z)
18,18
17.以下程序的输出结果是:
A 22.0 None
B 10 None
C 22 None
D 10.0 22.0
正确答案: B
18.以下表达式,正确定义了一个集合数据对象的是:
A x = { 200, ’flg’, 20.3}
B x = ( 200, ’flg’, 20.3)
C x = [ 200, ’flg’, 20.3 ]
D x = {‘flg’ : 20.3}
正确答案: A
19.以下程序的输出结果是:
A [‘z’, ‘j’, ‘s’, ‘y’]
B [‘j’, ‘s’, ‘y’, ‘z’]
C [‘j’, ‘z’, ‘z’, ‘s’, ‘z’, ‘y’, ‘j’]
D [‘j’, ‘j’, ‘s’, ‘y’, ‘z’, ‘z’, ‘z’]
正确答案: B
20.以下程序的输出结果是:
A htslbht
B hlbst
C tsblh
D hhlstt
正确答案: B
21.已知id(ls1) = 4404896968,以下程序的输出结果是:
A 4404896968 4404896904
B 4404896904 4404896968
C 4404896968 4404896968
D 4404896904 4404896904
正确答案: A
A [‘300’,‘200’,‘400’]
B [‘shandong’, ‘hebei’, ‘beijing’]
C [300,200,400]
D ‘shandong’, ‘hebei’, ‘beijing’
正确答案: B
23.以下关于文件的描述,错误的是:
A 二进制文件和文本文件的操作步骤都是“打开-操作-关闭”
B open() 打开文件之后,文件的内容并没有在内存中
C open()只能打开一个已经存在的文件
D 文件读写之后,要调用close()才能确保文件被保存在磁盘中了
正确答案: C
24.以下程序输出到文件text.csv里的结果是:
A [90,87,93]
B 90,87,93
C ‘[90,87,93]’
D ‘90,87,93’
正确答案: B
25.以下程序的输出结果是:
A ( [1,2,3,4,5])
B [12, 34, 56, 78]
C ([12, 34, 56, 78])
D [1,2,3,4,5]
正确答案: B
26.以下关于数据维度的描述,错误的是:
A 采用列表表示一维数据,不同数据类型的元素是可以的
B JSON格式可以表示比二维数据还复杂的高维数据
C 二维数据可以看成是一维数据的组合形式
D 字典不可以表示二维以上的高维数据
正确答案: D
27.以下不属于Python的pip工具命令的选项是:
A show
B install
C download
D get
正确答案: D
29.以下不是程序输出结果的选项是:
A [12, 78, 56, 34]
B [56, 12, 78, 34]
C [12, 34, 56, 78]
D [12, 78, 34, 56]
正确答案: C
30.以下关于turtle库的描述,正确的是:
A 在import turtle之后就可以用circle()语句,来画一个圆圈
B 要用from turtle import turtle来导入所有的库函数
C home() 函数设置当前画笔位置到原点,朝向东
D seth(x) 是setheading(x)函数的别名,让画笔向前移动x
正确答案: C
31.一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用
A 栈
B 堆
C 链表
D 数组
正确答案: A
因为函数调用是能过将关键寄存器压栈保护现场;在函数返回时,弹栈恢复现场来完成的。
而递归调用说白了就是自已调用自己。也就是不停的上演pop, push的栈操作。
系统为什么选用栈来实现函数间的调用呢?我觉的主要原因如下:
对于频繁的调用操作过程中,栈的pop,push操作最简洁,快速。硬件级(或者理解成汇编级也行)支持栈操作。所以用栈最高效,快速。如果用堆、数组、链表,不光要维护很多功能辅助性数据,算法也很麻烦。这样会大大降低计算机的使用效率。
32.下列叙述中正确的是
A 一个算法的空间复杂度大,则其时间复杂度必定小
B 一个算法的空间复杂度大,则其时间复杂度也必定大
C 算法的时间复杂度与空间复杂度没有直接关系
D 一个算法的时间复杂度大,则其空间复杂度必定小
正确答案: C
34.软件开发离不开系统环境资源的支持,其中必要的测试数据属于
A 辅助资源
B 硬件资源
C 通信资源
D 支持软件
正确答案: A
35.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是
A 错误推测法
B 白箱测试法
C 黑箱测试法
D 安装测试法
正确答案: C
37.下列有关数据库的描述,正确的是
A 数据库是一个关系
B 数据库是一个DBF文件
C 数据库是一个结构化的数据集合
D 数据库是一组文件
正确答案: C
38.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和
A 可重用性差
B 冗余性
C 非持久性
D 安全性差
正确答案: B
39.软件开发的结构化生命周期方法将软件生命周期划分成
A 定义、开发、运行维护
B 设计阶段、编程阶段、测试阶段
C 总体设计、详细设计、编程调试
D 需求分析、功能定义、系统设计
正确答案: A
40.下列不属于结构化分析的常用工具的是
A 判定树
B 数据字典
C 数据流图
D PAD图
正确答案: C
法一:利用set()函数的去重功能,去重后再使用list()函数将集合转换为我们想要的列表
list1 = [11,22,33]
list2 = [22,33,44]
list3 = list(set(list1 + list2))
list3.sort()
print(list3)
-------------
法二:利用if和for,先遍历list1所有元素追加到list3中,然后遍历list2,条件判断list2中当前元素是否在list3中,如果不在则追加到list3中
list1 = [11,22,33]
list2 = [22,33,44]
list3 = []
for ele1 in list1:
list3.append(ele1)
for ele2 in list2:
if ele2 not in list3:
list3.append(ele2)
print(list3)
1,使用getopt。getopt()优化当前的功能函数:
[html]
#!/usr/bin/python
# -*- coding: utf-8 -*-
#coding=utf-8
import os,sys
import getopt
print sys.argv
CDROW='/home/zhouqian/test'
def cdWalker(CDROW,cdfile):
result=[]
for root,dirs,files in os.walk(CDROW):
result.append("%s %s %s" %(root,dirs,files))
print root
open(cdfile,'w').write('\n'.join(result))
def usage():
print '''pycdc 使用方式:
python cdays-3-exercise-1.py -d cdc -k 中国火
#检索cdc中有没有中国火字样的目录,
'''
try:
opts,args=getopt.getopt(sys.argv[1:],'hd:e:k:')
except getopt.GetoptError:
usage()
sys.exit()
if len(opts)==0:
usage()
sys.exit()
c_path=''
name=''
for opt,arg in opts:
if opt in('-h','--help'):
usage()
sys.exit()
elif opt=='-e':
if os.path.exists(arg):#判断目标路径是否存在
# cdWalker(CDROW,arg)
print "记录光盘的位置是 %s" %arg
else:
print "不存在这样的目录"
elif opt=='-d':
c_path=arg
print c_path
cdWalker(CDROW,c_path)
elif opt=='-k':
if not c_path:
usage()
sys.exit()
else:
name=arg
for root,dirs,files in os.walk(c_path):
if root=='%s' %name:
print '您要找的文件在%s' %dirs
这是第一个题,大概做了2个小时吧,各种纠结啊,后面两个正在做。中间遇到的问题总结:
函式的利用,os.path.walk,python字符集,getopt模块的使用学习,os.path.exists()的利用,列表的对应关系等等
习题2 :关键词-----》序列号问题:
[html]
#!/usr/bin/python
#coding=utf-8
import sys
def collect(file):
result={}
for line in file.readlines():
left,right=line.split()
if result.has_key(right):
result[right].append(left)
else:
result[right]=[left]
return result
if __name__=="__main__":
print sys.argv
if len(sys.argv)==1:
print 'usage:\tpython value_keys.py test.txt'
else:
result=collect(open(sys.argv[1],'r'))
for (right,left) in result.items():
print "%d %s = %s" %(len(left),right,left)
结果显示:
[html]
root@zhou:/home/zhouqian/python# py value_keys.py test.txt
ssss
2 key3 = ['6', '33']
3 key2 = ['1', '2', '45']
3 key1 = ['4', '5', '13']
遇到的问题总结:
split的用法:line.split()就是分开出左右两边的值,在默认的情况下是以一个空格或者多个空格为分割符的,
has_key()的用法:是查看字典数据类型中有没有这么一个关键字。上面可知result={}是初始化了一个字典的数据类型。
字典的一些用法:怎么定义,怎么赋值:result[right]=[left]或者result[right]=left,遍历字典中所用
项,result.items(),遍历字典的key值:result.keys(),遍历字典的value值:result.values()
[html]
dict={'chen':25,'zhou':24,'xiao':35}
dict.values()
[25, 35, 24]
dict.keys()
['chen', 'xiao', 'zhou']
dict.items()
[('chen', 25), ('xiao', 35), ('zhou', 24)]
第一题:int
第二题:-1
第三题:list
第四题:key in dict
第五题:false
第六题:return
第七题:开源
第八题:
第九题:dict.get(key)
第十题:(1)无参数,无返回值;(2)无参数,有返回值的函数;(3)有参数,无返回值的函数;(4)有参数,有返回值的函数