python重点题

Posted panda/勇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python重点题相关的知识,希望对你有一定的参考价值。

一,冒泡排序

  给出一个纯数字列表. 请对列表进行排序(升级题).
  思路:
  1. 完成a和b的数据交换. 例如, a = 10, b = 24 交换之后, a = 24, b = 10
  2. 循环列表. 判断a[i]和a[i+1]之间的大小关系, 如果a[i]比a[i+1]大. 则进行互换. 循环结束的时候.

   当前列表中最大的数据就会被移动到最右端.
  3. 想一想, 如果再次执行一次上面的操作. 最终第二大的数据就移动到了右端. 以此类推. 如果反

   复的进行执行相应的操作. 那这个列表就变成了一个有序列表.

      lis=[12,3,5,8,2,45,1]
      for n in range(len(lis)):   
          for i in range(len(lis)-1):
              if lis[i]>lis[i+1]:
                  lis[i],lis[i+1]=lis[i+1],lis[i]
      print(lis)

 

 

二,

  写函数,传入n个数,返回字典{‘max’:最大值,’min’:最小值}
  例如:min_max(2,5,7,8,4) 返回:{‘max’:8,’min’:2}(此题用到max(),min()内置函数)

  方法一:

 

        def func(*args):

        return {最大值:max(args),最小值:min(args)}

 

 

  方法二

        def func(*num):
            m=num[0]
            m1=num[0]
            for i in num:
                if i>m:
                    m=i
                if i<m1:
                    m1=i
            return{最大值:m,最小值:m1}

        print(func()

 

 

三,

  有如下值li=[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key中,

  将小于66的值保存至第二个key的值中(在原有代码上补充不允许改变原有代码)

  

        li=[11,22,33,44,55,66,77,88,99,90]
        result={}
        for row in li:
            if row<66:
               l=result.get(k1)      #拿k1
                if l==None:             #k1 不存在
                    result[k1]=[row]  #创建一个 k1
                else:
                   result[k1].append(row)  #存在k1时,直接追加
            else:
                l=result.get(k2)      #拿k2
                if l==None:
                    result[k2]=[row]
                else:
                   result[k2].append(row)
        print(result)

 

 

四,

  写代码完成99乘法表

  

    a=1
    while a<=9:
     b=1
     while b<=a:
     print(‘%d*%d=%d‘ % (a,b,a*b),end=‘‘)
     b+=1
     print()
     a+=1

  

 













以上是关于python重点题的主要内容,如果未能解决你的问题,请参考以下文章

Python面试必考重点之字符串与正则表达式第二关——用fstring方法格式化字符串

Python面试重点(爬虫篇)

Python面试重点(web篇)

Python面试重点(web篇)

Python面试重点(web篇)

Python面试重点(web篇)