文档库 最新最全的文档下载
当前位置:文档库 › (完整版)python练习题-答案(可编辑修改word版)

(完整版)python练习题-答案(可编辑修改word版)

(完整版)python练习题-答案(可编辑修改word版)
(完整版)python练习题-答案(可编辑修改word版)

一、填空题Python 练习题库By 郑红波2017-12-19

1.Python 标准库math 中用来计算平方根的函数是。(sqrt)

2.在Python 中表示空类型。(None)

3.列表、元组、字符串是Python 的(有序?无序)序列。(有序)

4.查看变量类型的Python 内置函数是。(type())

5.查看变量内存地址的Python 内置函数是。(id())

6. 表达式[1, 2, 3]*3 的执行结果为。([1, 2, 3, 1, 2, 3, 1, 2, 3])

7. list(map(str, [1, 2, 3]))的执行结果为。([‘1’, ‘2’, ‘3’])

8.已知x = 3,并且id(x)的返回值为496103280,那么执行语句x += 6 之后,表达式id(x) ==

496103280 的值为。(False)

9.已知x = 3,那么执行语句x *= 6 之后,x 的值为。(18)

10. 表达式“[3] in [1, 2, 3, 4]”的值为。(False)

11. 假设列表对象aList 的值为[3, 4, 5, 6, 7, 9, 11, 13, 15, 17],那么切片aList[3:7]得到的值是

。([6, 7, 9, 11])

12.使用列表推导式生成包含10 个数字5 的列表,语句可以写为。([5 for i in

range(10)])

13.假设有列表a = ['name', 'age', 'sex']和b = ['Dong', 38, 'Male'],请使用一个语句将这两个列表的内

容转换为字典,并且以列表a 中的元素为“键”,以列表b 中的元素为“值”,这个语句可以写为。(c = dict(zip(a, b)))

14.任意长度的Python 列表、元组和字符串中最后一个元素的下标为。(-1)

15.Python 语句''.join(list('hello world!'))执行的结果是。('hello world!')

16.转义字符’\n’的含义是。(回车换行)

17.Python 语句list(range(1,10,3))执行结果为。([1, 4, 7])

18. 切片操作list(range(6))[::2]执行结果为。([0, 2, 4])

19.表达式'ab' in 'acbed' 的值为。(False)

20.Python 3.x 语句print(1, 2, 3, sep=':') 的输出结果为。(1:2:3)

21. 表达式int(4**0.5) 的值为。(2)

22. 达式sorted([111, 2, 33], key=lambda x: -len(str(x))) 的值为。([111, 33, 2])

23. 已知列表对象x = ['11', '2', '3'],则表达式max(x) 的值为。('3')

24. 表达式min(['11', '2', '3']) 的值为。('11')

25. 已知列表对象x = ['11', '2', '3'],则表达式max(x, key=len) 的值为。('11')

26. 语句x = (3,) 执行后x 的值为。((3,))

27. 语句x = (3) 执行后x 的值为。(3)

28. 已知x = {1:2},那么执行语句x[2] = 3 之后,x 的值为。({1: 2, 2: 3})

29.字典对象的方法返回字典中的“键-值对”列表。(items())

30.使用列表推导式得到100 以内所有能被13 整除的数的代码可以写作

。([i for i in range(100) if i%13==0])

31. 表达式3 ** 2 的值为。(9)

32. 表达式3 * 2 的值为。(6)

33. 已知x = [3, 5, 7],那么执行语句x[len(x):] = [1, 2]之后,x 的值为。([3, 5, 7, 1,

2])

34. 表达式list(zip([1,2], [3,4])) 的值为。([(1, 3), (2, 4)])

35. 已知x = [1, 2, 3, 2, 3],执行语句x.pop() 之后,x 的值为。([1, 2, 3, 2])

36. 表达式[x for x in [1,2,3,4,5] if x<3] 的值为。([1, 2])

37.表达式[index for index, value in enumerate([3,5,7,3,7]) if value == max([3,5,7,3,7])] 的值为

。([2, 4])

38.已知path = r'c:\test.html',那么表达式path[:-4]+'htm' 的值为。('c:\\test.htm')

39. 表达式'%d,%c' % (65, 65) 的值为。('65,A')

40. 表达式'The first:{1}, the second is {0}'.format(65,97) 的值为。

('The first:97, the second is 65')

41. 表达式':'.join('abcdefg'.split('cd')) 的值为。('ab:efg')

42. 表达式isinstance('abcdefg', str) 的值为。(True)

43. 表达式'Hello world. I like Python.'.find('python') 的值为。(-1)

44. 表达式','.join('a b ccc\n\n\nddd '.split()) 的值为。('a,b,ccc,ddd')

45. 已知x = '123' 和y = '456',那么表达式x + y 的值为。('123456')

46.表达式'abcab'.replace('a','yy') 的值为。('yybcyyb')

47.已知table = ''.maketrans('abcw', 'xyzc'),那么表达式'Hellow world'.translate(table) 的值为

。('Helloc corld')

48.已知x = {'b':1, 'a':2},那么执行语句x.update({‘a’:3,‘d’:4})之后,表达式sorted(x.items())的值为

。([('a', 3), ('b', 1), ('d', 4)])

49.已知x = list(range(20)),那么语句print(x[100:200])的输出结果为。([])

50. 表达式sorted({'a':9, 'b':3, 'c':78}.values())的值为。([3, 9, 78])

51. type(1+2*3.14)的结果是:float class

二、阅读程序

1.写出下面代码的执行结果。

def Join(List, sep=None):

return (sep or ',').join(List)

print(Join(['a', 'b', 'c']))

print(Join(['a', 'b', 'c'],':'))

答:

a,b,c

a:b:c

2.若k 为整数,下述while 循环执行的次数为:9

k=1000

while k>1:

print(k)

k=k//2

3.写出下面代码的运行结果。

def Sum(a, b=3, c=5):

return sum([a, b, c])

print(Sum(a=8, c=2))

print(Sum(8))

print(Sum(8,2))

答:

13

16

15

4.写出下列程序输出结果

i=1

while i+1:

if i>4:

print("%d"%i)

i+=1

break

print("%d"%i)

i+=1

i+=1

5.写出下面代码的运行结果。

def Sum(*p):

return sum(p)

print(Sum(3, 5, 8))

print(Sum(8))

print(Sum(8, 2, 10))

答:

16

8

20

6.下面程序的执行结果是。(1)

s = 0

for i in range(1,101):

s += i

else:

print(1)

7.下面程序的执行结果是。(1275)

s = 0

for i in range(1,101):

s += i

if i == 50:

print(s)

break

else:

print(1)

8.阅读下面的代码,输出结果为。

x = list(range(10))

for index, value in enumerate(x):

if value == 3:

x[index] = 5

else:

print(x)

答:将列表x 中值为 3 的元素修改为5。

9.阅读下面的代码,解释其功能:

>>> import string

>>> x = string.ascii_letters + string.digits

>>> import random

>>> print(''.join(random.sample(x, 10)))

答:输出由英文字母大小写或数字组成的长度为10 且不重复的随机字符串。

10.下面的代码输出结果为。(3)

def demo():

x = 5 x = 3 demo() print(x)

11. 下面程序运行的结果为 。([5, 6, 1, 2, 3, 4])

def demo(lst, k):

if k

return lst[k:]+lst[:k]

lst=[1,2,3,4,5,6]

demo(lst,4)

12. 下面程序运行的结果为 appy New Year!H 。

def foo(s):

if s=="":

return s else:

return s[1:]+s[0]

print (foo('Happy New Year!'))

下面程序运行的结果为 [3,2] [1,2] .

list1=[1,2] list2=list1[::] list1[0]=3

print(list1,list2)

15. 下面程序运行的结果为

恭喜,你已获得我公司的面试机会!

age, subject,college=(24,“计算机”,”非重点”)

if (age > 25 and subject=="电子信息工程") or (college=="重点" and subject=="电子信息工程" ) or (age<=28 and subject=="计算机"):

print("恭喜,你已获得我公司的面试机会!") else:

print("抱歉,你未达到面试要求") 16.

下面程序运行的结果为

for num in range(2,10):

if num%2 == 0:

continue

print("Find a odd numer",num) 答案:

Find a odd numer 3 Find a odd numer 5 Find a odd numer 7 Find a odd numer 9

17. 下面程序打印结果:

for i in range(1, 7):

print(' '*2*(6-i),end='')

for j in range(i, 0, -1):

print(j, end = " ")

print()

18.下面程序输入>>>rev(‘I love you’)返回值为you love I def rev1(s):

s=s.split()

s1=‘ ’.join(reversed(s))

return s1

19.阅读程序,打印结果是1000

def addInterest(balance,rate):

newBalance=balance*(1+rate)

balance=newBalance

def main():

amount=1000

rate=0.05

addInterest(amount,rate)

print (amount)

main()

20.阅读程序,打印结果是

def demo(newitem,old_list=[]):

old_list.append(newitem)

return old_list

def main():

print(demo(‘a’))

print(demo(‘b’))

main()

答案:['a']

['a', 'b']

21.阅读程序,打印结果是

def func5(a, b, *c):

print(a,b)

print("length of c is %d, c is " %len(c),c) func5(1,2,3,4,5,6)

答案:1 2

length of c is 4,c is (3, 4, 5, 6)

22. 阅读程序,打印结果是(2.5, 3, 4)

def demo(*para):

avg = sum(para)/len(para)

g = [i for i in para if i>avg]

return (avg,)+tuple(g)

print(demo(1,2,3,4))

23.阅读程序,打印结果是

def f(w=1,h=2):

print(w,h)

f()

f(w=3)

f(h=7)

f(a=3)

答案:1 2

3 2

1 7

错误

24.阅读程序,打印结果是

def sort(number1,number2):

if number1

return number1,number2

else:

return number2,number1

n1,n2=sort(3,2)

print('n1 is ',n1)

print('n2 is ',n2)

答案:n1 is 2

n2 is 3

25.阅读程序,打印结果是10 60

def demo(m, n):

if m>n:

m, n = n, m

p = m*n

while m!=0:

r = n%m

n = m

m = r

return (n,p//n)

print( demo(20, 30))

三、程序填空题

1.下面代码的功能是,随机生成50 个介于[1,20]之间的整数,然后统计每个整数出现频率。请把

缺少的代码补全。

import random

x = [random. (1,20) for i in range( )]

r = dict()

for i in x:

r[i] = r.get(i, )+1

for k, v in r.items():

print(k, v)

答:

分别填写randint、50、0

2.生成包含1000 个随机字符的字符串,然后统计前20 个高频字符,最后以15 个位左对齐输出高

频字符,以5 个位右对齐输出个数。请把缺少的代码补全。

import random

x = string.ascii_letters + string.digits + string.punctuation

y = [ for i in range(1000)]

d = dict()

for ch in y:

d[ch] = d.get(ch, 0) + 1

i tems=list(d.items())

items.sort( ,reverse=True)

for i in range(20):

word,count = items[i]

print( %(word,count))

答案:import string 、random.choice(x) 、key= lambda x:x[1]、“%-15s%5d”

3.用户输入5,打印如右图字符金字塔图形,请补全代码:

n=input('输入行数:')

for i in range(1,n+1):

print( ,end=‘ ')

for j in range(1,2*i):

print('&', )

print()

答案:n=int(n),' '*(n-i),end=''

4.质因数分解,如输入60,则得到60 = 2 * 2 * 3 *

5. 请补全代码:

x=eval(input("请输入小于1000 的整数:"))

k=2

while x>1:

if :

print(k,end=" ")

x = x//k

if x >1:

print("*",end=" ")

else:

答案:print(x,"=",end=" "),x % k==0 ,k += 1

5.验证哥德巴赫猜想:一个大于等于6 的偶数可以表示为两个素数之和,请补全代码。import math

x=eval(input(“输入一个数”))

while x<6 or x%2==1: #大于6 的偶数

x=eval(input(“输入一个数”))

for n1 in :

m1=int(math.sqrt(n1)+1)

for i in range(2,m1): #2-sqrt(n1)

if :

break

else:

m2=math.ceil(math.sqrt(n2)+1)

for j in range(2,m2):

if n2%j==0 and j

else:

print(x,'=',n1,'+',n2)

答案:range(3,x//2,2),n1%i==0, n2=x-n1, break

6.右对齐九九乘法表,请补全代码:

for i in range(1,10):

s1=str(i)+'×'+str(j)+'='+str(i*j)

print( )

print()

答案:for j in range(1,i+1):,'%8s'%(s1),end=''

7.输出右边图形,请补充程序:

for i :

print((‘ *’*(2*i-1)).center(30))

for i in range(6, 0, -1):

print( )

答案:in range(6);(' *‘(2*i-1)).center(5*n)

8.下面代码判断回文串,请补全代码:

s='雾锁ft头ft锁雾'

low=0

high=

while low

if : #倒序和顺序不一样

print(s,"不是回文")

low +=1

else:

print(s,"是回文串")

答案:len(s)-1,s[low]!=s[high],break,high -=1;

9.输出右边图形,请补充程序:

s='''I am a teacher! You are students!'''

print('='*30)

print('统计信息'.center(28))

print( )

item_width=25

line=s.count('\n')+1

word=s.split()

char=list(s) #包含空格、标点符号

w_num=0

for w in word:

w_num+=

print('%-*s %5d'%(item_width-3,'行数',line))

print('%-*s %5d'%( ,'单词数',len(word)))

print('%-*s %5d'%(item_width-10,'字符数(包含空格)', ))

print('%-*s %5d'%(item_width-11,'字符数(不包含空格)',w_num))

print('-'*30)

答案:'-'*30;len(w);item_width-4;len(char)

10.输出右边图形,请补充程序:

print([1])

line = [1,1]

for i in range(2,t):

for j in range(0,len(line)-1):

r.append( )

line = [1]+r+[1]

print(line)

demo( )

答案:print([1,1]),r = [],line[j]+line[j+1],10

四、编程题

1.编写程序,在D 盘根目录下创建一个文本文件test.txt,并向其中写入字符串hello world。

答:

fp = open(r’D:\test.txt’, ‘a+’)

print(‘hello world’, file=fp)

fp.close()

2.编写程序,生成一个包含20 个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇

数下标的元素不变。(提示:使用切片。)

答:

import random

x = [random.randint(0,100) for i in range(20)]

print(x)

y = x[::2]

y.sort(reverse=True)

x[::2] = y

print(x)

3.编写函数,判断一个数字是否为素数,是则返回字符串YES,否则返回字符串NO。再编写测

试函数。

答:

import math

def IsPrime(v):

n = int(math.sqrt(v)+1)

for i in range(2,n):

if v%i==0:

return 'No'

else:

return 'Yes'

print(IsPrime(77))

4.编写函数,模拟Python 内置函数sorted(lst)。

答:

def sorted(v):

t = v[::]

r = []

while t:

tt = min(t)

r.append(tt)

t.remove(tt)

return r

print(sorted([1,3,2,4])

5.编写程序,生成包含20 个随机数的列表,然后将前10 个元素升序排列,后10 个元素降序排列,

并输出结果。

答:

import random

x = [random.randint(0,100) for i in range(20)]

print(x)

y = x[0:10]

y.sort()

x[0:10] = y

y = x[10:20]

y.sort(reverse=True)

x[10:20] = y

print(x) Array 6.编写程序,运行后用户输入4 位整数作为年份,判断其是

否为闰年。如果年份能被400 整除,则为闰年;如果年份

能被4 整除但不能被100 整除也为闰年。

答:

x = input('Please input an integer of 4 digits meaning the year:')

x = eval(x)

if x%400==0 or (x%4==0 and not x%100==0):

print('Yes')

else:

print('No')

7.编写程序,实现分段函数计算,如下表所示。

答:

x = input('Please input x:')

x = eval(x)

if x<0 or x>=20:

print(0)

elif 0<=x<5:

print(x)

elif 5<=x<10:

print(3*x-5)

elif 10<=x<20:

print(0.5*x-2)

8. 已知有一个包含一些同学成绩的字典,计算成绩的最高分、最低分、平均分,并查找最高分同学, 最

后打印最高分、最低分、平均分、最高分同学。

scores = {"Zhang San": 45, "Li Si": 78, "Wang Wu": 40, "Zhou Liu": 96, "Zhao Qi": 65, "Sun Ba": 90, "Zheng Jiu": 78, "Wu Shi": 99, "Dong Shiyi": 60} highest = max(scores.values()) lowest = min(scores.values())

average = sum(scores.values())/len(scores)

highestPerson = [name for name, score in scores.items() if / score == highest] #分行print(highest,lowest,average,highestPerson)

9. 统计不及格的学生及成绩,要求:给定一些学生姓名和成绩;询问用户是否还需要输入更多的

学生姓名和成绩,用户回答是就继续输入,继续询问;打印所有补考学生名单和成绩。 d=[["张三",76],["李四",45],["王五",83],["郑六",66],['a',54],['c',68],['b',89]] s1=input("输入数据 Y or N:").strip()#去掉前后空格while s1 == 'Y':

s2=input("请输入学生及成绩(空格隔开)") name,grade=s2.split() d.append([name,grade]) #d[name]=int(grade) s1=input("继续输入 Y or N:").strip() else:

print(d)

print("不及格的名单:") for name,grade in d:

if float(grade) < 60:

print("姓名:",name,"\t","成绩:",grade)

10. 由用户一个一个输入一个数值型列表,然后将每个元素逐一打印。 lst=[]

n=eval(input(”请输入数字个数:”)) for i in range(n):

number=eval(input(”请输入数字:”)) lst.append(number) for value in lst:

print(value,end=’ ’)

11. 序列求和,n 通过用户输入: n=int(input(“请输入 N 的值:”)) s=0 fh=1

for i in range(1,n+1):

s +=fh*1/i # 求和语句 fh=-fh #正负交替

print("1-1/2+1/3-1/4...+(-1)^(n-1)/n=",s,i)

12. 生成一个包含 50 个两位随机整数的列表,然后删除其中的所有奇数(提示从后向前删) lst=[random.randint(1,100) for i in range(50)] print('50 个随机两位整数:

',lst)

k=len(lst)-1

for i in range(k,-1,-1):#从后往前删,减少列表元素移动

if lst[i] % 2==1:

lst.pop(i)

print("偶数为",lst)

13.恺撒(kaisa)密码:原文:ABCDEFGHIJKLMNOPQRSTUVWXYZ,对应的密文为:

DEFGHIJKLMNOPQRSTUVWXYZABC,请设计程序实现之。

plaincode=input('请输入明文:')

for p in plaincode:

if 'a'<=p<='z':

c=chr(ord('a')+(ord(p)-ord('a')+3)%26)

#ord 是字符编码的值,都减掉ord('A')才可以得到字符的顺序0-25 print(c,end='')

elif 'A'<=p<='Z' :

c=chr(ord('A')+(ord(p)-ord('A')+3)%26)

print(c,end='')

else:

print(p,end='')

14.如果一个字符串从前往后和从后往前读时是一样的,那么这个字符串就是回文串。请编写一个

函数判断是否为回文串,同时编写测试代码检验回文串。

def isPalindrome(s)

if s==s[::-1]: #切片操作,倒序和顺序一样

return True

else:

return False

s=input('input a string:')

if isPalindrome(s):

print(‘%s is a palindrome!’%s)

else:

print(‘%s is not a palindrome!’%s)

15.输入一串字符,统计每个字符数,用字典输出.

s=input("输入一行字符串或句子:")

char_counts={}

for char in s:

char_counts[char]= char_counts.get(char,0)+1

print(char_counts)

16.生成包含100 个随机字符的字符串,然后统计前20 个高频字符.

import string,random

str1=string.ascii_letters +string.digits

str1=str1.lower()

str2=[random.choice (str1) for i in range(100)]

print(str2)

str_count={}

for char in str2:

str_count[char]=str_count.get(char,0)+1

print(str_count)

items=list(str_count.items())

items.sort(key=lambda x:x[1],reverse=True) #以数量降序

for i in range(20):

word,count = items[i]

print("%-15s %5d"%(word,count)) #-表示左对齐,s 表字符,d 表示整数

17.统计”e:\HarryPotterSorcerStone.txt”文件中的英文单词及其数量,打印出单词及其个数

filename =r'HarryPotterSorcerStone.txt'

infile = open(filename, "r") # Open the file

txt=infile.read()

words=txt.split() #以空格分割单词

words_counts={}

for word in words:

words_counts[word]=words_counts.get(word,0)+1

print(words_counts)

18.读取文本文件data.txt 中所有整数,将其排序后写入文本文件data_asc.txt 中.

with open('data.txt','r') as fp:

data=fp.readlines() #文件全部读完返回字符列表

print(‘字符列表’,data)

data=[int(line.strip()) for line in data] #列表的数据变成整数

data.sort()

data=[str(i)+'\n‘for i in data] #数字后加换行符

with open(‘data_asc.txt’,'w') as fp:

fp.writelines(data) #一次全部写入

19.编程,如图,在文件score.txt 中写入五名学生的姓名、学号和3 门考试课的成绩,然后将所有

两门以上(含两门)课程不及格的学生信息输出到文件bad.txt、其他学生信息输出到pass.txt。

fw=open(r'score2.txt','w')

s=['张三,',' 2017010101,',' 66,',' 77,',' 88','\n']

fw.writelines(s)

fw.write('李四, 2017010102, 60, 70, 80\n')

fw.write('王五, 2017010103, 64, 73, 82\n')

fw.write('赵六, 2017010104, 56, 67, 48\n')

fw.write('钱七, 2017010105, 46, 57, 68\n')

fw.close()

f1=open(r'score2.txt','r')

f2=open(r'bad2.txt','w')

f3=open(r'pass2.txt','w')

lines=f1.readlines()

for line in lines:

data=list(line.split(','))

print(data)#['张三', ' 2017010101', ' 66', ' 77', ' 88\n']

k=0

for i in data[2:]:

if int(i)<60:

k+=1

if k>=2: #两门以上(含两门)课程不及格

f2.write(line)

else:

f3.write(line)

f1.close();f2.close();f3.close()

Python经典面试题

1:Python如何实现单例模式? Python有两种方式可以实现单例模式,下面两个例子使用了不同的方式实现单例模式: 1. class Singleton(type): def __init__(cls, name, bases, dict): super(Singleton, cls).__init__(name, bases, dict) cls.instance = None def __call__(cls, *args, **kw): if cls.instance is None: cls.instance = super(Singleton, cls).__call__(*args, **kw) return cls.instance class MyClass(object): __metaclass__ = Singleton print MyClass() print MyClass() 2. 使用decorator来实现单例模式 def singleton(cls): instances = {} def getinstance(): if cls not in instances: instances[cls] = cls() return instances[cls] return getinstance @singleton class MyClass: … 2:什么是lambda函数? Python允许你定义一种单行的小函数。定义lambda函数的形式如下:labmda 参数:表达式lambda函数默认返回表达式的值。你也可以将其赋值给一个变量。lambda函数可以接受任意个参数,包括可选参数,但是表达式只有一个:>>> g = lambda x, y: x*y >>> g(3,4) 12 >>> g = lambda x, y=0, z=0: x+y+z >>> g(1) 1

python二级考试操作题2

1.编写Python 程序输出一个具有如下风格效果的文本,用作文本进度条样式,部分代码如下,填写空格处。 10%@== 20%@==== 100%@==================== 前三个数字,右对齐;后面字符,左对齐 文本中左侧一段输出 N 的值,右侧一段根据 N 的值输出等号,中间用@ 分隔,等号个数为 N 与 5 的整除商的值,例如,当 N 等于10 时,输出2 个等号。 N =eval(input())# N取值范围是0—100,整数 print(____①____) n=int(input()) print("%s%d%%@%s"%((3-len(str(n)))*" ",n,"=="*(n//5))) 习题讲解 参考代码 N =20# N取值范围为0-100整数 print("{:>3}%@{}".format(N,"="*(N//5))) 2.以论语中一句话作为字符串变量s,补充程序,分别输出字符串s 中汉字和标点符号的个数。 s ="学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?" n =0# 汉字个数 m =0# 标点符号个数 ____①____ # 在这里补充代码,可以多行 print("字符数为{},标点符号数为{}。".format(n, m)) 习题讲解 参考代码 s ="学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?" n =0# 汉字个数 m =0# 标点符号个数

m = s.count(',')+ s.count('?') n =len(s)– m print("字符数为{},标点符号数为{}。".format(n, m)) 3.使用程序计算整数 N 到整数 N+100 之间所有奇数的数值和,不包含 N+100, 并将结果输出。整数 N 由用户给出,代码片段如下,补全代码。不判断输入异常。 N =input("请输入一个整数: ") ____①____ # 可以是多行代码 输入输出示例 参考代码 N =input("请输入一个整数: ") s =0 for i in range(eval(N),eval(N)+100): if i%2==1: s += i print(s) 4.B卷简单应用1 上一题下一题 ?题目 ?提交代码 ?上传文件 ?答案与讲解 使用turtle 库的turtle.fd() 函数和turtle.left() 函数绘制一个六边形,边长为200 像素,效果如下图所示,请结合格式框架,补充横线处代码。 import turtle as t for i in range(___①___): t.fd(___②___) t.left(___③___)

(完整word版)教会你所有的Python模块使用.doc

看了这篇你就会了所有的python模块使用 如果你退出Python解释器并重新进入,你做的任何定义(变量和方法)都 会丢失。因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个 文本编辑器会更好,并以那个文件替代作为输入执行。这就是传说中的脚本。 随着你的程序变得越来越长,你可能想要将它分割成几个更易于维护的文件。 你也可能想在不同的程序中使用顺手的函数,而不是把代码在它们之间中拷来 拷去。 为了满足这些需要, Python提供了一个方法可以从文件中获取定义,在脚本 或者解释器的一个交互式实例中使用。这样的文件被称为模块;模块中的定义可以导入到另一个模块或主模块中(在脚本执行时可以调用的变量集位于最高级,并且处于计算器模式)。 模块是包括Python定义和声明的文件。文件名就是模块名加上.py后缀。模块的模块名(做为一个字符串)可以由全局变量__name__得到。例如,你可以用自己惯用的文件编辑器在当前目录下创建一个叫fibo.py的文件,录入如下内容 :

现在进入Python解释器并使用以下命令导入这个模块: 这样做不会直接把fibo 中的函数导入当前的语义表;它只是引入了模块名 fibo。你可以通过模块名按如下方式访问这个函数: 如果打算频繁使用一个函数,你可以将它赋予一个本地变量: 深入模块 除了包含函数定义外,模块也可以包含可执行语句。这些语句一般用来初始化 模块。他们仅在第一次被导入的地方执行一次。 每个模块都有自己私有的符号表,被模块内所有的函数定义作为全局符号表使 用。因此,模块的作者可以在模块内部使用全局变量,而无需担心它与某个用 户的全局变量意外冲突。从另一个方面讲,如果你确切的知道自己在做什么, 你可以使用引用模块函数的表示法访问模块的全局变量, modname.itemname。 模块可以导入其他的模块。一个(好的)习惯是将所有的import语句放在 模块的开始(或者是脚本),这并非强制。被导入的模块名会放入当前模块的 全局符号表中。小编为大家推荐一个学习交流群:308754087,群里有人都快满了 ~ 大家遇到啥问题都可以在里面交流!是一个非常好的学习交流地方~ 欲进从速欧 ~ 各种 PDF 等你来下载,全部免费,只为帮助大家快速入门。

Python面试题及答案

P y t h o n面试题及答案 TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】

2018年最新P y t h o n面试题及答案找工作是每个学习Python人员的目标,为了更好的找到工作,刷面试题是必不可少的,了解最新企业招聘试题,可以让你面试更加的顺利。小编整理了一些20XX年最新的Python面试题,来测测你技术的掌握度吧。 1、Python里面如何拷贝一个对象( 赋值,浅拷贝,深拷贝的区别) 答:赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。 浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会修改改变){1,完全切片方法;2,工厂函数,如list();3,copy模块的copy()函数} 深拷贝:创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另外一个不会改变){copy模块的()函数} 2、Python里面match()和search()的区别? 答:re模块中match(pattern,string[,flags]),检查string的开头是否与pattern匹配。 re模块中research(pattern,string[,flags]),在string搜索pattern的第一个匹配值。 >>>print(‘super’, ‘superstition’).span())

(0, 5) >>>print(‘super’, ‘insuperable’)) None >>>print(‘super’, ‘superstition’).span()) (0, 5) >>>print(‘super’, ‘insuperable’).span()) (2, 7) 3、有没有一个工具可以帮助查找python的bug和进行静态的代码分析? 答:PyChecker是一个python代码的静态分析工具,它可以帮助查找python代码的bug, 会对代码的复杂度和格式提出警告 Pylint是另外一个工具可以进行codingstandard检查 4、简要描述Python的垃圾回收机制(garbage collection)。 答案 这里能说的很多。你应该提到下面几个主要的点: Python在内存中存储了每个对象的引用计数(reference count)。如果计数值变成0,那么相应的对象就会小时,分配给该对象的内存就会释放出来用作他用。 偶尔也会出现引用循环(reference cycle)。垃圾回收器会定时寻找这个循环,并将其回收。举个例子,假设有两个对象o1和o2,而且符合 == o2和 == o1这两个条件。如果o1和o2没有其他代码引用,那么它们就不应该继续存在。但它们的引用计数都是1。

(整理)python操作excel.

You are here: Home?计算机?编程? Python操作Excel Python操作Excel 2012-09-01 老婆单位有时候有一些很大的 Excel 统计报表需要处理,其中最恶心的是跨表的 JOIN 查询。他们通常采取的做法是,把多个 Excel 工作簿合成一个工作簿的多个表格,然后再跑函数(VLOOKUP之类)去查。因为用的函数效率很低,在 CPU 打满的情况下还要跑几个小时。 然后我就看不过去了,我也不懂 Excel,不知道如何优化,但我想用Python+SQLite 总归是能够实现的。于是就尝试了一把,效果还不错,一分钟以内完成统计很轻松,其中大部分时间主要花在读 Excel 内容上。 1. Python 操作 Excel 的函数库 我主要尝试了 3 种读写 Excel 的方法: 1> xlrd, xlwt, xlutils: 这三个库的好处是不需要其它支持,在任何操作系统上都可以使用。xlrd 可以读取 .xls, .xlsx 文件,非常好用;但因为 xlwt 不能直接修改 Excel 文档,必须得复制一份然后另存为其它文件,而且据说写复杂格式的 Excel 文件会出现问题,所以我没有选它来写 Excel 文件。 2> openpyxl: 这个库也是不需要其它支持的,而且据说对 Office 2007 格式支持得更好。遗憾地是,我经过测试,发现它加载 Excel 文件的效率比 xlrd 慢 3 倍以上,内存使用在 10 倍以上,于是就放弃了。 3> win32com: Python Win32 扩展,这个库需要运行环境为 Windows+Office 对应版本。由于 Python Win32 扩展只是把 COM 接口包装了一下,可以视为与VBA 完全相同,不会有读写格式上的问题。尝试了一下用 win32com 读取 Excel 文件,效率还是比 xlrd 慢一些。 由于读取效率上 xlrd > win32com > openpyxl,所以我自然选择了 xlrd 用来读取统计报表;而最终输出的报表格式较复杂,所以选择了 win32com 直接操作 Excel 文件。 2. Python 里的关系型数据库 SQLite是一个非常轻量级的关系型数据库,很多语言和平台都内置 SQLite 支持,也是 iOS 和 Android 上的默认数据库。Python 的标准库里也包含了sqlite3库,用起来非常方便。

(完整word版)Python期末复习题(必考)

2018-2019学年第一学期python练习专业、班级:__________ 学号:____________姓名:____________ Python语言基础 一、单选题 1.在Python中,合法的标识符是【】。 A. _ B. 3C C. it's D. str 2. Python表达式中,可以使用【】控制运算的优先顺序。 A.圆括号() B.方括号[] C.花括号{} D.尖括号<> 3.以下Python注释代码,不正确的是【】。 A. #Python注释代码 B. #Python注释代码1 #Python注释代码2 C. """Python文档注释""" D. //Python 注释代码 4.为了给整型变量x、y、z赋初值10,下面正确的Python赋值语句是【】。 A. xyz=10 B. x=10 y=10 z=10 C. x=y=z=10 D. x=10,y=10,z=10 5.为了给整型变量x、y、z赋初值5,下面正确的Python赋值语句是【】。 A. x=5;y=5;z=5 B. xyz=5 C. x,y,z= 5 D. x=5,y=5,z=5 6.已知x=2;y=3,复合赋值语旬x*=y+5执行后,x变量中的值是【】。 A. 11 B.16 C.13 D.26 7.整型变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如,13变成31,正确的Python表达式是【】。 A. (x%10)*10+x//10 B. (x%10)//10+x//10 C. (x/10)%10+x//10 D. (x%10)*10+x%10 二、填空题 1. Python中如果语句太长,可以使用作为续行符。 2. Python中在一行书写两条语句时,语句之间可以使用作为分隔符。 3. Python使用符号标示注释。 3. Python 表达式 4.5/2的值为。 4. Python表达式4.5//2的值为。 5. Python 表达式4.5%2的值为。 6. Python 表达式12/4-2+5*8/4%5/2的值为。 9. 写出下面程序的执行结果__________________。 x=345 a=x//100

python面试题整理(20170131092705)

1 请教一下列表与元组的区别是什么.分别在什么情况下使用 列表中的项目应该包括在方括号中,你可以添加、删除或是搜索列表中的项目。由于你可以增加或 删除项目,所以列表是可变的数据类型,即这种类型是可以被改变的。 元组和列表十分类似,但是元组是不可变的.也就是说你不能修改元组。元组通过圆括号中用逗号分 割的项目定义。元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候, 即被使用的元组的值不会改变。 2 字典 键值对的集合(map)字典是以大括号“{}”包围的数据集合。 与列表区别:字典是无序的,在字典中通过键来访问成员。字典是可变的,可以包含任何其他类型。 3 Python是如何进行内存管理的? Python提供了对内存的垃圾收集机制,但是它将不用的内存放到内存池而不是返回给操作系统。 Python中所有小于256个字节的对象都使用pymalloc实现的分配器,而大的对象则使用系统的malloc。另外Python对象,如整数,浮点数和List,都有其独立的私有内存池,对象间不共享他们的内存池。 也就是说如果你分配又释放了大量的整数,用于缓存这些整数的内存就不能再分配给浮点数。 在Python中,许多时候申请的内存都是小块的内存,这些小块内存在申请后,很快又会被释放,由 于这些内存的申请并不是为了创建对象,所以并没有对象一级的内存池机制。这就意味着Python在运 行期间会大量地执行malloc和free的操作,频繁地在用户态和核心态之间进行切换,这将严重影响 Python的执行效率。为了加速Python的执行效率,Python引入了一个内存池机制,用于管理对小块内 存的申请和释放。这也就是之前提到的Pymalloc机制。 4 如何在一个function里面设置一个全局的变量? 解决方法是在function的开始插入一个global声明 5 Python中pass语句的作用是什么? pass语句什么也不做,一般作为占位符或者创建占位程序,pass语句不会执行任何操作,比如: while False: pass pass通常用来创建一个最简单的类: class MyEmptyClass: pass pass在软件设计阶段也经常用来作为TODO,提醒实现相应的实现,比如: def initlog(*args): pass #please implement this 6 Python里面如何拷贝一个对象?

教你在python在工作中“偷懒”:Excel自动化处理 word关键信息提取 自动化运营监控 自动发送邮件

教你用python在工作中“偷懒” Excel自动化处理/word关键信息提取/自动化运营监控/自动发送邮件 有些朋友在工作中会有这样的困惑:明明我从早忙到晚,为什么得到的评价还不高? 要知道,企业对一个员工的评价是出于“产出”而非“付出”。所以,如果把大量时间花在机械重复的工作上,不但工作效率不高,对个人发展来说也无甚帮助。 而这些工作,如果对于会点编程的人来说,往往通过几行代码就可以快速搞定了。 于是,我去了解了一下身边不同岗位(HR、产品、运营、市场、数据分析师等)每天需要面对的重复性劳动(肯定会有不全,欢迎补充~),总结了一些在工作中非常常见的例子,并且将源码整理好供参考。希望这些程序可以让你的工作更高效!(升职加薪了别忘了回来发红包哦~)那么如何将这些统统实现呢? 我将这些分为以下几类,大家可以自行评估,各取所需:

如何用python在工作中“偷懒”? 系统录入自动化 由于你经常需要不断的将一些信息录入系统,每一次录入的过程中你可能需要不断的点击一些按钮,面对这种情况,完全可以写一个自动脚本,每次代替你来执行这些点击的行为。

这里我们需要用到splinter: pip install splinter 这里写了一个自动登录邮箱的脚本,可以实现文本输入和网页点击:#coding=utf-8import timefrom splinter import Browserdef splinter(url): browser = Browser() #login 126 email websize browser.visit(url) #wait web element loading time.sleep(5) #fill in account and password browser.find_by_id('idInput').fill('xxxxxx') browser.find_by_id('pwdInput').fill('xxxxx') #click the button of login browser.find_by_id('loginBtn').click() time.sleep(8) #close the window of brower browser.quit()if __name__ == '__main__' splinter(websize)

最新python 笔试题

Python基础知识笔试 1 2 3 一、单选题(2.5分*20题) 4 1. 下列哪个表达式在Python中是非法的? B 5 A. x = y = z = 1 6 B. x = (y = z + 1) 7 C. x, y = y, x 8 D. x += y 9 2. python my.py v1 v2 命令运行脚本,通过 from sys impor t argv如何获得v2的参数值? C 10 11 A. argv[0] 12 B. argv[1] 13 C. argv[2] 14 D. argv[3] 15 3. 如何解释下面的执行结果? B 16 print 1.2 - 1.0 == 0.2 17 False 18 A. Python的实现有错误 19 B. 浮点数无法精确表示 20 C. 布尔运算不能用于浮点数比较 D. Python将非0数视为False 21 22 4. 下列代码执行结果是什么? D

23 x = 1 24 def change(a): 25 x+= 1 26 print x 27 change(x) 28 A. 1 29 B. 2 30 C. 3 D. 报错 31 32 5. 下列哪种类型是Python的映射类型? D 33 A. str 34 B. list 35 C. tuple 36 D. dict 6. 下述字符串格式化语法正确的是? D 37 38 A. 'GNU's Not %d %%' % 'UNIX' 39 B. 'GNU\'s Not %d %%' % 'UNIX' C. 'GNU's Not %s %%' % 'UNIX' 40 41 D. 'GNU\'s Not %s %%' % 'UNIX' 42 7. 在Python 2.7中,下列哪种是Unicode编码的书写方式?C A. a = ‘中文’ 43 44 B. a = r‘中文’

Python基本操作题教学教材

P y t h o n基本操作题

1.请补充横线处的代码,让 Python 帮你随机选一个饮品吧! import ____①____ random.seed(1) listC = ['加多宝','雪碧','可乐','勇闯天涯','椰子汁'] print(random. ____②____ (listC)) 参考答案: import random random.seed(1) listC = ['加多宝','雪碧','可乐','勇闯天涯','椰子汁'] print(random.choice(listC)) 2.请补充横线处的代码,listA中存放了已点的餐单,让Python帮你增加一个“红烧肉”,去掉一个“水煮干丝”。 listA = ['水煮干丝','平桥豆腐','白灼虾','香菇青菜','西红柿鸡蛋汤'] listA. ____①____ ("红烧肉") listA.____②____ ("水煮干丝") print(listA) 参考代码: listA = ['水煮干丝','平桥豆腐','白灼虾','香菇青菜','西红柿鸡蛋汤'] listA.append("红烧肉") listA.remove("水煮干丝") print(listA) 3.请补充横线处的代码。dictMenu中存放了你的双人下午套餐(包括咖啡2份和点心2份)的价格,让Python帮忙计算并输出消费总额。 dictMenu = {'卡布奇洛':32,'摩卡':30,'抹茶蛋糕':28,'布朗尼':26} ___①____ for i in ____②____: sum += i print(sum)

Python面试题及答案

2018年最新Python面试题及答案 找工作是每个学习Python人员的目标,为了更好的找到工作,刷面试题是必不可少的,了解最新企业招聘试题,可以让你面试更加的顺利。小编整理了一些2017年最新的Python面试题,来测测你技术的掌握度吧。 1、Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别) 答:赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。 浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会修改改变){1,完全切片方法;2,工厂函数,如list();3,copy模块的copy()函数} 深拷贝:创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另外一个不会改变){copy模块的()函数} 2、Python里面match()和search()的区别? 答:re模块中match(pattern,string[,flags]),检查string的开头是否与pattern匹配。 re模块中research(pattern,string[,flags]),在string搜索pattern的第一个匹配值。 >>>print(‘super’, ‘superstition’).span()) (0, 5) >>>print(‘super’, ‘insuperable’)) None

>>>print(‘super’, ‘superstition’).span()) (0, 5) >>>print(‘super’, ‘insuperable’).span()) (2, 7) 3、有没有一个工具可以帮助查找python的bug和进行静态的代码分析? 答:PyChecker是一个python代码的静态分析工具,它可以帮助查找python 代码的bug, 会对代码的复杂度和格式提出警告 Pylint是另外一个工具可以进行codingstandard检查 4、简要描述Python的垃圾回收机制(garbage collection)。 答案 这里能说的很多。你应该提到下面几个主要的点: Python在内存中存储了每个对象的引用计数(reference count)。如果计数值变成0,那么相应的对象就会小时,分配给该对象的内存就会释放出来用作他用。 偶尔也会出现引用循环(reference cycle)。垃圾回收器会定时寻找这个循环,并将其回收。举个例子,假设有两个对象o1和o2,而且符合 == o2和 == o1这两个条件。如果o1和o2没有其他代码引用,那么它们就不应该继续存在。但它们的引用计数都是1。 Python中使用了某些启发式算法(heuristics)来加速垃圾回收。例如,越晚创建的对象更有可能被回收。对象被创建之后,垃圾回收器会分配它们所属的代(generation)。每个对象都会被分配一个代,而被分配更年轻代的对象是优先被处理的。

Python基本操作题

1.请补充横线处的代码,让Python 帮你随机选一个饮品吧! import ____①____ (1) listC = ['加多宝','雪碧','可乐','勇闯天涯','椰子汁'] print(random. ____②____ (listC)) 参考答案: import random (1) listC = ['加多宝','雪碧','可乐','勇闯天涯','椰子汁'] print(listC)) 2.请补充横线处的代码,listA中存放了已点的餐单,让Python帮你增加一个“红烧肉”,去掉一个“水煮干丝”。 listA = ['水煮干丝','平桥豆腐','白灼虾','香菇青菜','西红柿鸡蛋汤'] listA. ____①____ ("红烧肉") ②____ ("水煮干丝") print(listA) 参考代码: listA = ['水煮干丝','平桥豆腐','白灼虾','香菇青菜','西红柿鸡蛋汤'] ("红烧肉") ("水煮干丝") print(listA) 3.请补充横线处的代码。dictMenu中存放了你的双人下午套餐(包括咖啡2份和点心2份)的价格,让Python帮忙计算并输出消费总额。 dictMenu = {'卡布奇洛':32,'摩卡':30,'抹茶蛋糕':28,'布朗尼':26} ___①____ for i in ____②____: sum += i print(sum) 参考代码: dictMenu = {'卡布奇洛':32,'摩卡':30,'抹茶蛋糕':28,'布朗尼':26} sum = 0 for i in (): sum += i print(sum) 4.获得输入正整数 N,反转输出该正整数,不考虑异常情况。 参考代码: N = input() print(N[::-1]) 5. 给定一个数字123456,请采用宽度为25、右对齐方式打印输出,使用加号“+”填充。 参考代码: print("{:+>25}".format(123456)) 6.给定一个数字.9,请增加千位分隔符号,设置宽度为30、右对齐方式打印输出,使用空格填充。 参考代码:

Python处理JSON(可编辑修改word版)

概念 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON、XML 等。反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态,重新创建该对象。 JSON(JavaScript Object Notation):一种轻量级数据交换格式,相对于XML 而言更简单,也易于阅读和编写,机器也方便解析和生成,Json 是JavaScript 中的一个子集。Python2.6 开始加入了JSON 模块,无需另外下载,Python 的Json 模块序列化与反序列化的过程分别是encoding 和decoding encoding:把一个Python 对象编码转换成Json 字符串 decoding:把Json 格式字符串解码转换成Python 对象 对于简单数据类型(string、unicode、int、float、list、tuple、dict),可以直接处理。json.dumps 方法对简单数据类型encoding: import json data = [{'a':"A",'b':(2,4),'c':3.0}] #list 对象 print "DATA:",repr(data) data_string = json.dumps(data) print "JSON:",data_string 输出: DATA: [{'a':'A','c':3.0,'b':(2,4)}] #python 的dict 类型的数据是没有顺序存储的 JSON: [{"a":"A","c":3.0,"b":[2,4]}] JSON 的输出结果与DATA 很相似,除了一些微妙的变化,如python 的元组类型变成了Json 的数组,Python 到Json 的编码转换规则是: json.loads 方法处理简单数据类型的decoding(解码)转换 import json data = [{'a':"A",'b':(2,4),'c':3.0}] #list 对象

20道python面试题

对于机器学习算法工程师而言,Python是不可或缺的语言,它的优美与简洁令人无法自拔。那么你了解过Python编程面试题吗?今天我们就来了解一下! 1、python下多线程的限制以及多进程中传递参数的方式 python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只能有一个线程使用解释器,跟单cpu跑多个程序一个意思,大家都是轮着用的,这叫“并发”,不是“并行”。 多进程间共享数据,可以使用 multiprocessing.Value和multiprocessing.Array。 2、什么是lambda函数?它有什么好处? lambda 函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的函数。lambda 函数不能包含命令,它们所包含的表达式不能超过一个。不要试图向lambda 函数中塞入太多的东西;如果你需要更复杂的东西,应该定义一个普通函数,然后想让它多长就多长。 3、Python是如何进行类型转换的? ①函数描述 ② int(x [,base ]) 将x转换为一个整数 ③long(x [,base ]) 将x转换为一个长整数 ④float(x ) 将x转换到一个浮点数 ⑤complex(real [,imag ]) 创建一个复数 ⑥str(x ) 将对象 x 转换为字符串 ⑦repr(x ) 将对象 x 转换为表达式字符串 ⑧eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象 ⑨tuple(s ) 将序列 s 转换为一个元组 ⑩list(s ) 将序列 s 转换为一个列表 ?chr(x ) 将一个整数转换为一个字符 ?unichr(x ) 将一个整数转换为Unicode字符 ?ord(x ) 将一个字符转换为它的整数值 ?hex(x ) 将一个整数转换为一个十六进制字符串 ?oct(x ) 将一个整数转换为一个八进制字符串 4、python多线程与多进程的区别

python文件和目录操作方法大全

python文件和目录操作方法大全(含实例) 这篇文章主要介绍了python文件和目录的操作方法,简明总结了文件和目录操作中常用的模块、方法,并列举了一个综合实例,需要的朋友可以参考下 一、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法。 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件和目录名:os.listdir() 3.函数用来删除一个文件:os.remove() 4.删除多个目录:os.removedirs(r“c:\python”) 5.检验给出的路径是否是一个文件:os.path.isfile() 6.检验给出的路径是否是一个目录:os.path.isdir() 7.判断是否是绝对路径:os.path.isabs() 8.检验给出的路径是否真地存:os.path.exists() 9.返回一个路径的目录名和文件名:os.path.split() eg os.path.split('/home/swaroop/byte/code/poem.txt') 结果:('/home/swaroop/byte/code', 'poem.txt') 10.分离扩展名:os.path.splitext() 11.获取路径名:os.path.dirname() 12.获取文件名:os.path.basename() 13.运行shell命令: os.system() 14.读取和设置环境变量:os.getenv() 与os.putenv() 15.给出当前平台使用的行终止符:os.linesep Windows使用'\r\n',Linux使用'\n'而Mac使用'\r' 16.指示你正在使用的平台:https://www.wendangku.net/doc/b5364177.html, 对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix' 17.重命名:os.rename(old,new) 18.创建多级目录:os.makedirs(r“c:\python\test”) 19.创建单个目录:os.mkdir(“test”) 20.获取文件属性:os.stat(file) 21.修改文件权限与时间戳:os.chmod(file) 22.终止当前进程:os.exit() 23.获取文件大小:os.path.getsize(filename) 二、文件操作方法大全: 1.os.mknod("test.txt") #创建空文件 2.fp = open("test.txt",w) #直接打开一个文件,如果文件不存在则创建文件 3.关于open 模式: 复制代码代码如下: w:以写方式打开, a:以追加模式打开(从EOF 开始, 必要时创建新文件) r+:以读写模式打开 w+:以读写模式打开(参见w ) a+:以读写模式打开(参见a ) rb:以二进制读模式打开

最常见的-35-个-Python-面试题及答案

最常见的35 个Python 面试题及答案(2018 版) 1. Python 面试问题及答案 作为一个Python 新手,你必须熟悉基础知识。在本文中我们将讨论一些Python 面试的基础问题和高级问题以及答案,以帮助你完成面试。包括 Python 开发问题、编程问题、数据结构问题、和 Python 脚本问题。让我们来深入研究这些问题 Python 面试问题 . Python 的特点和优点是什么 Python 可以作为编程的入门语言,因为他具备以下特质: 1. 解释性 2. 动态特性 3. 面向对象 4. 语法简洁 5. 开源 6. 丰富的社区资源 实际上Python 的优点远不止这些,更详细的介绍可以阅读Introduction to Python ( blogs/python-tutorial/) . 深拷贝和浅拷贝的区别是什么 深拷贝是将对象本身复制给另一个对象。这意味着如果对对象的副本进行更改时不会影响原对象。在 Python 中,我们使用 deepcopy()函数进行深拷贝,使用方法如下: 深拷贝-Python 面试问题及答案 浅拷贝是将对象的引用复制给另一个对象。因此,如果我们在副本中进行更改,则会影响原对象。使用 copy()函数进行浅拷贝,使用方法如下: 浅拷贝—Python 面试问题及答案 . 列表和元祖有什么不同 主要区别在于列表是可变的,元祖是不可变的。看下面的例子: 会出现以下错误提示: TypeError: ‘tuple’ object does not support item assignment 关于列表和元祖的更多内容参考 Tuples vs Lists( blogs/python-tuples-vs-lists/)2. Python 面试基础题 到是新手经常会被问到的一些 Python 基础题,有经验的人也可以参考这些问题来复习这些概念。 . 解释 Python 中的三元表达式 与 C++不同, 在 Python 中我们不需要使用符号,而是使用如下语法: [on true] if [expression]else [on false] 如果 [expression] 为真, 则 [on true] 部分被执行。如果表示为假则 [on false] 部分被执行 下面是例子:

Python对Excel操作教程

Python 对Excel 操作详解文档摘要: 本文档主要介绍如何通过python 对office excel 进行读写操作,使用了xlrd 、xlwt 和xlutils 模块。另外还演示了如何通过Tcl tcom 包对excel 操作。 关键字: Python、Excel、xlrd 、xlwt 、xlutils、TCl 、tcom 1 Python 简介 Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。 与Scheme、Ruby、Perl 、Tcl 等动态语言一样,Python 具备垃圾回收功能,能够自动管理存储器使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python 虚拟机本身几乎可以在所有的作业系统中运行。使用一些诸如py2exe、PyPy、PyInstaller 之类的工具可以将Python 源代码转换成可以脱离Python 解释器运行的程序。 2 Python 安装 Python 目前的版本已经更新到3.4.0 ,本文使用的版本为2.7.5 ,所有的版本都可以在python 官网下载,至于 2.x 和 3.x 版本的具体区别也可以在官网查看。 从官网下载了python 2.7.5 安装文件后,直接双击就可以安装python

Python 也是一种实时交互语言,可以通过自带的IDLE 编写python 语句并反馈回显信息,可以通过图 1 方式调出python IDLE 。 图1 也可以在cmd下输入python ,但默认情况下python并没有添加到windows 环境变量中,导致在cmd下输入python的时候出现提示“ 'python'不是内部或外部命令,也不是可运行的程序或批处理文件。”,windows 下可执行文件在运行时首先在当前目录下搜索,因为进入cmd 下默认路径一般为C:\Documents and Settings\Administrator> ,而在这个路径下是找不到python 的,所以提示出错,可以进入到python 安装目录下,然后执行python 就可以进入交互命令行模式下。如果懒的每次都进入python 安装,此时需要将python 安装路径添加到系统变量中,然后windows 在执行命令的时候会去环境变量中查找路径,具体配置如图 2 所示,在Path 中添加python 的安装路径 “C:\Python2.7.5; ”,主要路径后面要加”;”分号表面这是一个路径的结束,此时无论在哪个路径下都可以执行python 调出交互命令行。 图2 3 Python 语法入门 在Python 简介中提到Python 是一种直译式电脑编程语言,体现在语法中,如要将变量 a 赋值为1,Tcl 使用命令%set a 1(本文中为了区分Tcl 和Python 的命令,Tcl 命令前会加上“ %”,否则默认为Python 命令),在python 中命令为a = 1,输出a的值可以直接输入a,也可以通过print语句输出a的值, 命令为print a (在python 3.0 以后版本中,print 不再是一个语句,而是一个函数,所以如果想要输出a,用法为print(a))。在Tel中求1和10的和或者变量之间

(完整word版)Python题库(可编辑修改word版)

《Python 程序设计》填空题1-280 题 2017-03-23 董付国Python 小屋 1、Python 安装扩展库常用的是工具。(pip) 2、Python 标准库math 中用来计算平方根的函数是。(sqrt) 3、Python 程序文件扩展名主要有和两种,其中后者常用于GUI 程序。(py、pyw) 4、Python 源代码程序编译后的文件扩展名为。(pyc) 5、使用pip 工具升级科学计算扩展库numpy 的完整命令是 。(pip install --upgrade numpy) 6、使用pip 工具查看当前已安装的Python 扩展库的完整命令是 。(pip list) 7、在IDLE 交互模式中浏览上一条语句的快捷键是。(Alt+P) 8、使用pip 工具查看当前已安装Python 扩展库列表的完整命令是。(pip list) 9、在Python 中表示空类型。(None) 10、列表、元组、字符串是Python 的(有序?无序)序列。(有序) 11、查看变量类型的Python 内置函数是。(type()) 12、查看变量内存地址的Python 内置函数是。(id()) 13、以3 为实部4 为虚部,Python 复数的表达形式为或。(3+4j、3+4J) 14、Python 运算符中用来计算整商的是。(//) 15、Python 运算符中用来计算集合并集的是。(|) 16、使用运算符测试集合包含集合A 是否为集合B 的真子集的表达式可以写作 。(A

相关文档