Python作业- 第二课-道未


练习1:使用循环和列表推导找出单词长度大于某个数字的单词
1.1

words=['apple', 'banana', 'orange', 'peach','kiwi']
i=input('请输入想要的单词长度:')
for x in words:
    if len(x)>int(i):
        print(x)

1.2
words=['apple', 'banana', 'orange', 'peach','kiwi']
i=input('请输入想要的单词长度:')
[x for x in words  if len(x)>int(i)]


练习2:寻找两个列表中的相同元素
2.1
l1=[1,2,5]
l2=[6,2,7]
[x for x in l1 for y in l2 if x==y]

2.2
l1=[1,2,5]
l2=[6,2,7]
[(x,y) for x in l1 for y in l2 if x==y]


练习3:去除一个列表中相领且重复的元素
l1=[1,2,3,4,4,4,4,4,4,5,6,6,8,8,12,12,12,12,13]
l2=[l1[0]]
for i in range(1,len(l1)): 
    if l1[i]!=l1[i-1]:
        l2.append(l1[i])
l2


练习4:用户名密码对应
Username=['jack','bob','john']
Password=['123','859','hello']
dict(zip(Username,Password))


练习5:使用列表推导式,打印出颜色与尺寸的(组合)
colors=['black','white']
sizes=['S','M','L']
[(x,y) for x in colors for y in sizes]


练习6:词频统计
l1=['sklearn','AI','julyedu.com','Caffe','AI','sklearn']
d1={}.fromkeys(l1,0)
for k in l1: 
    d1[k]=d1[k]+1 
d1


练习7: 实现行列互转
arr=[[1, 2, 3], [4, 5, 6], [7,8, 9], [10, 11, 12]]
list(zip(*arr))


练习8:实现求指定长度的Fibonacci 数列
def fib(n):
    i,a,b=0,0,1
    Fib=[a,b]
    while i<n:
        a,b=b,a+b
        Fib.append(b)
        i=i+1
    return Fib
s=input('数列长度:n=')
n=int(s)
print(fib(n))

fibs=[0, 1]
s=input('数列长度:n=')
n=int(s)
for i in range(n):
    fibs.append(fibs[-2]+fibs[-1])
    if i!=n-1:
        continue
    else:
        print(fibs)


作业: [ ]对应检查
s1=input('请输入字符串:')
d1={'[':0,']':0}
if s1.count('[')!=s1.count(']'):
    print('Fault')
else:
    for i in s1:
        if i=='[':
            d1['[']+=1
        elif i==']' and d1[']']<d1['[']:
            d1[']']+=1
    if d1['[']==0:
        print("No '[' or ']' in s1.")
    elif d1['[']==d1[']']:
        print('OK!')
    else:
        print('NOT OK!')
已邀请:

ClownFish

赞同来自:


排版和解答都非常棒~

要回复问题请先登录注册

返回顶部