测试你的Python 水平----1

本文深入解析了编程面试中常见的算法与数据结构问题,包括但不限于列表操作、除法运算、序列生成、交换元素以最小化总和等。文章详细解答了这些问题的原理、解法及优化策略,旨在帮助读者理解和掌握这些核心知识点。

第一题


list=[1,2,3,’a’,’b’,’c’]
print list[7:]
问:请问程序是否报错?如果未报错,程序输出什么?
答:程序输出[],而不报错

第二题


Print 5/2
Print 5//2
Print 5.0/2
Pirnt 5.0//2
问:上述程序输入结果分别是什么?
答:2,2,2.5,2.0

第三题


问:阐述range和xrange的异同?
答:两者的用法是相同的,用于产生一个等差序列,(x)range([start,] stop[, step])。但是range会产生一个list,而xrange产生一个xrange的迭代器,因此xrange性能优于range。

第四题


问:在python中脚本运行过程中,如何模拟‘暂停’功能?
答:1)os.system(‘pause’)
2) raw_input(‘please input Enter to continue...’)

第五题


ListA=[1,7,6,3,2]
ListB=[2,5,4,9,8]
问:请通过交换listA和ListB中的元素,使得ListA中元素的和和ListB中所有元素的和最小?
答:
listA=[1,7,6,3,2]
listB=[10,5,4,9,8]

def oneTimeSort(listC,listD,x,y):
   min1=abs(sum(listC)+x-(sum(listD)+y))
   min2=abs(sum(listC)+y-(sum(listD)+x))
   
   if min1<min2:
       listC.append(x)
       listD.append(y)
   else:
       listC.append(y)
       listD.append(x)
   
   return 0

def allTimeSort():
   global listA
   global listB
   listX=sorted(listA+listB)
   listA=[]
   listB=[]
   
   length=len(listX)
   for i in range(0,length-1,2):
       x=listX[i]
       y=listX[i+1]
       ontTimeSort(listA,listB,x,y)

if __name__=='__main__':
   print 'before:'
   print 'A:',listA
print 'B:',listB

 allTimeSort()
 
   print 'after:'
   print 'A:',listA
   print 'B:',listB


转载于:https://my.oschina.net/jastme/blog/506676

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值