分享面试笔试题

一个基础面试题吧,感觉不太难,但在list那里栽了跟头,三个填空仅仅对了一个。至于下面的编程题,也是当时想到什么写什么的,所以没有去管是否存在简单的方法。

填空

关于list删除

a = [1,2,3,4]

for i in a:
    del a[0]
print(a)
>>>[3,4]
a = [1,2,3,4]

for i in a:
    a.remove(i)
print(a)
>>>[2,4]
a = [1,2,3,4]

for i in a:
    a.pop()
print(a)
>>>[1,2]

写出下列代码运行结果

will = ['will',28,['python','html','javascript']]
wilber = will
will[0] = 'wilber'
will[2].append('css')

print(will)
print(wilber)
>>>['wilber', 28, ['python', 'html', 'javascript', 'css']]
>>>['wilber', 28, ['python', 'html', 'javascript', 'css']]
import copy
will = ['will',28,['python','html','javascript']]
wilber = copy.copy(will)
will[0] = 'wilber'
will[2].append('css')

print(will)
print(wilber)
>>>['wilber', 28, ['python', 'html', 'javascript', 'css']]
>>>['will', 28, ['python', 'html', 'javascript', 'css']]
import copy
will = ['will',28,['python','html','javascript']]
wilber = copy.deepcopy(will)
will[0] = 'wilber'
will[2].append('css')

print(will)
print(wilber)
>>>['wilber', 28, ['python', 'html', 'javascript', 'css']]
>>>['will', 28, ['python', 'html', 'javascript']]

代码

写个方法使得输出如下

输入:AwSfds

输出:A-Ww-Sss-Ffff-Ddddd-Ssssss

def accum(string):
    strlist = list(string)
    strpower = ''
    strlower = ''
    resultlist = [] 
    for i in range(1,len(strlist)+1):
        strpower = strlist[i-1].upper()
        for j in range(i):
            strlower = strlist[i-1].lower() * j              
        result = strpower + strlower
        resultlist.append(result)
    print("-".join(resultlist))
    
accum("AwSfds") 

输入一个整数,输出比这个数大的下个整数

如:输入:2019 输出:2091

def next_num(num):
    strlist = list(str(num))
    for i in range(len(strlist)):
        if len(strlist)-2 > 0:
            if strlist[len(strlist)-1-i]> strlist[len(strlist)-2-i]:
                temp = strlist[len(strlist)-1-i]
                strlist[len(strlist)-1-i] = strlist[len(strlist)-2-i]
                strlist[len(strlist)-2-i] = temp
                break
        else:
            if strlist[len(strlist)-1]> strlist[len(strlist)-2]:
                temp = strlist[len(strlist)-1-i]
                strlist[len(strlist)-1] = strlist[len(strlist)-2]
                strlist[len(strlist)-2] = temp
                
    return int("".join(strlist))

next_num(366697864)

给出list a=[1,2,3,4],将a中偶数位置的元素加3,并求list的和

a = [1,2,3,4]
res = 0
for i in range(len(a)):
    if i % 2 == 0 and i != 0:
        a[i] += 3
    res += a[i]
print(res)

猜你喜欢

转载自blog.csdn.net/qq_36269019/article/details/104985312