Python 面试练习题

#键盘接受五个数,排序后输出
# 算法:
# 1、从输入流获取5个整数,并存于列表中
# 2、调用列表的sort方法对列表进行排序
# 3、打印排序后的结果,打印排序之前的
# 注释:
#     append() 方法用于在列表末尾添加新的对象:list.append(obj)
i=0
list=[]
while (i<5) :
	input=raw_input("number of %dth:" % i)
	i=i+1
	list.append(int(input))
print list
list.sort()
print list
#encoding=utf-8
#2、使用尽可能多的方法实现list去重
#方法一
#encoding=utf-8
#len():返回字符串的长度
#remove() 函数用于移除列表中某个值的第一个匹配项
a=[1,2,3,4,5,5,3,1]
i=0
while i<len(a)
	if a.count(a[i]) > 1
		a.remove(a[i])
		continue
	i+=1
print a
#方法二
#fromkeys()方法从序列键和值设置为value来创建一个新的字典
#encoding=utf-8
def AList(ListOne) :
	LaDict=dict.fromkeys(ListOne,0)
	LaStr=LaDict.keys()
	return LaStr
if __name__ == "__main__" :
	ListOne=[1,2,3,4,5,5,3,1]
	NewList=AList(ListOne)
	print ListOne
	print NewList

#方法三
#list() 方法用于将元组转换为列表。
#set():
def AList(ListOne) :
	LaList=list(set(ListOne))
	return LaList
if __name__ == "__main__" :
	ListOne=[1,2,3,4,5,5,3,1]
	NewList=AList(ListOne)
	print ListOne
	print NewList
#创建一个二叉树 ,并广度遍历
import Queue
class Node(object):
    def __init__(self,value=None,lchild=None,rchild=None):
        self.value = value
        self.lchild = lchild
        self.rchild = rchild

class Tree(object):
    #创建树,用层次遍历的方式创建树,单个节点输入
    def CreatTree(self,node):
        myQueue = Queue.Queue()
        if node != None:
            myQueue.put(node)
        while myQueue.empty() is not True:
            nodes = myQueue.get()
            print nodes.value
            LVal = raw_input("输入左孩子节点值:")
            if LVal == "none":
                nodes.lchild = None
            else:
                nodes.lchild = Node(LVal)
                myQueue.put(nodes.lchild)
            RVal = raw_input("输入右孩子节点值:")
            if RVal == "none":
                nodes.rchild = None
            else:
                nodes.rchild = Node(RVal)
                myQueue.put(nodes.rchild)
        return "creat tree success"

    #BFS-层次遍历
    def BFSTraver(self,node):
        myQueue = Queue.Queue()
        ListVal = []
        if node != None:
            myQueue.put(node)
        while myQueue.empty() is not True:
            node1 = myQueue.get()
            ListVal.append(node1.value)
            if node1.lchild != None:
                myQueue.put(node1.lchild)
            if node1.rchild != None:
                myQueue.put(node1.rchild)
        return ListVal

if __name__ == "__main__":
    nodes = Node(1)
    t1 = Tree()
    print "************ 创建树 Start ********"
    print t1.CreatTree(nodes)
    print "************ 创建树 End **********"
    print "************ BFS Start ***********"
    print t1.BFSTraver(nodes)
    print "************ BFS End *************"




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值