两道简单却实用的python面试题

题目一:python中String类型和unicode什么关系

整理答案:string是字节串,而unicode是一个统一的字符集,utf-8是它的一种存储实现形式,string可为utf-8编码,也可编码为GBK等各种编码格式

题目二:不用set集合方法,去除列表中的重复元素

方法一:

List=['b','b','d','b','c','a','a']  
print "the list is:" ,  List  
if List:  
        List.sort()  
        last = List[-1]  
        for i in range(len(List)-2, -1, -1):  
                if last==List[i]:  
                        del List[i]  
                else:  
                        last=List[i]  
print "after deleting the repeated element the list is : " , List

方法二:使用列表综合

l1 = ['b','c','d','b','c','a','a']  
l2 = []  
[l2.append(i) for i in l1 if not i in l2]  
print l2  
题目三:实现斐波那契(Fibonacci)数列
方法一:递归
def fibonacci2(n):  
    if n == 1 or n == 2:  
        return 1  
    else:  
        return fibonacci2(n-1) + fibonacci2(n-2)

方法二:迭代

def fibonacci(n):  
    if n == 1 or n == 2:  
        return 1  
   
    nPre = 1  
    nLast = 1  
    nResult = 0  
    i = 2  
    while i < n:  
        nResult = nPre + nLast  
        nPre = nLast  
        nLast = nResult  
        i += 1  
   
    return nResult  
   
print fibonacci(5)

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 两道简单却实用的python面试题