python基础面试题

mac2022-06-30  22

python基础习题: 1:斐波那契数列: 给定斐波那契数列,前几个数字是0、1、1、2、3、5……从第三项开始,每一项等于前两项之和。 输入任意数字,给出数据

n=int(input('请输入一个整数:')) a=0 b=1 c=0 while c<n: a,b=b,a+b c+=1 print(a,end=' ')

2:s = ‘adsfgfssddffbfseggdsxcw’ #去重并排序

l = list(set(s)) a='' for i in range(len(l)): for j in range(0, i+1): if l[i] < l[j]: l[i], l[j] = l[j], l[i] for i in l: a+=i print(a) #结果 abcdefgswx

3:以下字典根据键从小到达排序:

dic={"name":"zs","age":"18","city":"北京","tel":"123456789123"} #按照字典键的大小排序 print(sorted(dic.items(),key=lambda item:item[0])) #结果[('age', 18), ('city', '北京'), ('name', 'zs'), ('tel', '123456789123')] #根据字典中值的大小排序 print(sorted(dic.items(),key=lambda item:item[1])) #结果[('tel', '123456789123'), ('age', '18'), ('name', 'zs'), ('city', '北京')]

4:列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式输出大于10的数, 最终输出[16,25]

a=list(map(lambda x:x**2, [1,2,3,4,5])) b=[i for i in a if i >10] print(b) #结果[16, 25]

5:根据列表内元素的长度排序

l=["a","abcd","abc","ab","b"] print(l.sort()) for i in range(len(l)): for j in range(0,i+1): if l[i]< l[j]: l[i],l[j]=l[j],l[i] print(l) #结果['a', 'ab', 'abc', 'abcd', 'b']

总结:单个字母的长度都为一,按照26个英文字母排序越到后所占用的长度越长,所以"a"<“b”<“c”…<“z”,“A”<“B”<“C”…<“Z”, 小写字母永远比大小字母所占用长度长:“a”>“A”,“B”…“Z”,结果为True。 6:用lambda函数对list排序foo=[-5,8,0,4,9,-4,20,-2,8,2,-4]输出结果为[0,2,4,8,8,9,-2,-4,-4,-5,-20],正数从小到大,负数从大到小

foo=[-5,8,0,4,9,-4,-20,-2,8,2,-4] a=sorted(foo,key=lambda x:(x<0,abs(x))) print(a) #结果 [0, 2, 4, 8, 8, 9, -2, -4, -4, -5, -20]

7.url请求中如果出现中文,一般都会进行转码:

url = 'http://search.people.com.cn/cnpeople/search.do' data = { 'siteName': 'news', 'pageNum': '1', 'keyword': '小米科技有限公司', 'facetFlag': 'true', 'originName': None, 'pageCode': None, 'nodeType': 'belongsId', 'nodeId': '0' } url_data = parse.urlencode(data, encoding="gb2312") #转码 print(url_data) #facetFlag=true&keyword=С
转载请注明原文地址: https://mac.8miu.com/read-76442.html
最新回复(0)