python第二课 离歌

练习题1

word=['apple','orange','kimi','banana','peach']
w=[i for i in word if len(i)>5]
print(w)

练习题2

L1=[1,5,7]
L2=[2,5,9]
for i in L1:
    for j in L2:
        if i==j:
            print(i)

练习题3

L3=[1,2,3,4,4,4,4,4,4,5,6,6,8,8,12,12,12,12,13]
L4=[]
for i in range(len(L3)):
    if  i+1==len(L3):
        break
    elif L3[i+1]!=L3[i]:
        L4.append(L3[i])

练习4

userName=['xuzhongyu','zhangsan','lisi']
passWord=['1234','4567','mima']
result=list(zip(userName,passWord))
L5=[]
for i in result:
    L5.append(i[0]+i[1])
print(L5)

练习5

colors=['black','white']
sizes=['S','M','L']
print([(c,s) for c in colors for s in sizes])

练习6

l1=['sklearn','AI','julyedu.com','Caffe','AI','sklearn']
d={}
print(d)
for i in l1:
    if i in d:
        d[i]=d[i]+1
    else:
        d[i]=1
print(d)    

练习7

    # - 实现行列互转
    # ■ arr= [[1, 2, 3], [4, 5, 6], [7,8, 9], [10, 11, 12]]
    arr= [[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]
    L2=[]
    for j in range(len(arr[0])):
        for i in range(len(arr)):     
            L1.append(arr[i][j])
        L2.append(L1)
        L1=[]
    print(L2)

练习8

#实现求指定长度的Fibonacci 数列

▪ Fib数组初始为[0,1]

■ 分别要求使用循环和数组实现

count=int(input())
fib1=[0,1]
for i in range(2,count):
        fib1.append(fib1[i-1]+fib1[i-2])
print(fib1)

作业

[ ]对应检查

■ 输入含有[]的字符串,输出对中括号出现规则的检测结果

■ [] OK ][ NOT OK

■ [][] OK ][][ NOT OK

■ [[][]] OK []][[] NOT OK

■ # [[][[]]] OK ][]][[][ NOT OK

l1=list(input())
if l1.count(']')==0:  #判断没有右括号的情况,因 l1.index(']')没有找到会直接报错,所以只能放在循环外判断了
    print('NOT OK')
for i in range(l1.count(']')): #计算出几个右括号,就循环几次
    if l1[0]==']' or (len(l1)%2)!=0 or l1.count('[')!=l1.count(']'):#观察到只要第一个是] 或者总个数是单数 或者左括号个数不等于右括号个数,必然是 NOT OK的。
        print('NOT OK')
        break                             
    elif l1[l1.index(']')-1]=='[':  #先找到第一个右括号  l1.index(']'),如果是OK的,那么前面一个肯定是左括号。
        l1.pop(l1.index(']')-1)  #如果找到,那么就把这一左括号去掉。剩余再次执行elif
        l1.pop(l1.index(']'))     #把右括号去掉。这样一对括号就去掉了
        if l1==[]:                     #当所有的一对一对的括号去掉了,那么l1是空的,那么就是OK的
            print('OK')
已邀请:

ClownFish

赞同来自:


用户名密码对应 那题都已经用zip了,为啥还要再去循环呢?

fib那题已经很精简了,还可以再精简一下下。

最后[]对应的那题,能把解决思路备注上吗?

要回复问题请先登录注册

返回顶部