python学习——复习

时间:2023-03-09 03:18:44
python学习——复习

一、基础知识:

   1、文件操作有哪些模式?请简述各模式的作用。

       'r' 读模式,相应的方法有 read(),readline(),readlines()
'w' 写模式,相应的方法有 write(),writelines()
'a' 追加模式
'rb' 以字节码的形式读
'wb' 以字节码的形式写
'ab' 以字节码的形式追加
'r+','w+','a+' 可读可写

第1题

 2、s = ' **hello world!** ',请去除字符串两边的空格和*。

s = ' **hello world!** '
s = s.strip()
s = s.strip('*')
print(s)
# 输出:hello world!

第2题

  3、用户输入任意数字,求1-n之间所有的奇数。

num = eval(input('请输入一个大于1的整数:'))
if not type(num) == int:
print('输入错误,您必须输入一个整数!')
elif num <= 1:
print('输入错误,您输入的数必须大于1!')
else:
for i in range(1,num,2):
print(i,end=' ')

第3题

  4、s = 'hskakhlkshfkskjakf',请去除s字符串中重复的字母

lst = []
s = 'hskakhlkshfkskjakf'
for str_s in s:
if str_s not in lst:
lst.append(str_s) print(lst)
# 输出:['h', 's', 'k', 'a', 'l', 'f', 'j']

第4题

  5、有以下代码:

    a = 10
b = 20
def test(a,b):
print(a,b)
c = test(b,a)
print(c)
#上述代码中,打印出来的值a,b,c分别是什么,为什么?

  答:a = 20 b = 10 c = None 因为c是调用 test()函数,而 test()函数没有返回值则默认返回 None

  6、s  =  '123.33sdhf3424.34fsjlg323.325',计算字符串中所有数字之和? 本题的结果应该为:123.33 + 3424.34 + 323.32

import re
ret = re.findall(r'\d+\.\d{2}','123.33sdhf3424.34fsjlg323.325')
res = sum([float(i) for i in ret])
print(res) # 输出:3870.9900000000002

第6题

  7、