python(基础练习二)

基础练习二:

1、有一些数存在列表中, 如:L = [1, 3, 2, 1, 6, 4, 2, ...., 98, 82]
  1) 将列表L中出现的数字存于另一个列表L2中
  要求:
  重复出现多次的数字只在L2列表中保留一份(去重)

  2) 将列表中出现两次的数字存于L3列表中(在L3列表中保留一份)

L = [1, 3, 2, 1, 6, 4, 2, 98, 82]  

# 1) 将列表L中出现的数字存于另一个列表L2中
# 要求:
#  重复出现多次的数字只在L2列表中保留一份(去重)
L2 = []  # 准备放入不重复的数据
for x in L:
    if x not in L2:  # L2里没有
        L2.append(x)
print("L2= ", L2)


# 2) 将列表中出现两次的数字存于L3列表中(在L3列表中保留一份)
L3 = []
for x in L:
    if x not in L3 and L.count(x) == 2:
        L3.append(x)
print('L3=', L3)

2、生成前40个斐波那契数(Fibonacci)
  1 1 2 3 5 8 13 21 ......
  要求将这数整数存于列表L中,最后打印出这些数
  (斐波那契的前两个是1, 1, 之后的数是前两个数的和)

L = []  # 准备放入数据

# 方法1(经典方法)
# a = 0
# b = 1               # 当前已经求出来的数
# while len(L) < 40:  # 不够40个
#     L.append(b)     # 把已经得到的数加入列表中
                         # 再算出下一个数,依旧存于b中,为下次循环做准备
#     c = a + b       # 下一次的数
#     a = b           # 将当前的数交给a
#     b = c           # 再把已经算好的数交给b

# 方法2
# a = 0
# b = 1                # 当前已经求出来的数
# while len(L) < 40:   # 不够40个
#     L.append(b)      # 把已经得到的数加入列表中
                          # 再算出下一个数,依旧存于b中,为下次循环做准备
#     a, b = b, a + b

# 方法3(只在python中可行的方法,其他语言不行)
L = [1, 1]
while len(L) < 40:
    L.append(L[-1] + L[-2])

print(L)

猜你喜欢

转载自www.cnblogs.com/ttkp-2018/p/9452384.html