Python--列表练习加强题

文章目录

一、有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币,[10,8,5,3,27,99]

二、如果两个素数之差为2,这样的两个素数就叫做”孪生数“,找出100以内所有的”孪生数“

三、给定一个列表,求最大值、最小值、平均值、求和

四、将list中的数据去重,至少使用两种方案

五、两个列表进行合并操作

六、使用列表判断一个列表是否在另一个列表内

七、如何将0~10随机存入列表中

八、完成一个登录注册案例(要求使用容器保存数据)

1、有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币,[10,8,5,3,27,99]

coin=[10,8,5,3,27,99]
x=0
for i in coin:
    if i%2==0:
        x+=i
    else:
            x+=i

print(f"最少{x}次可以拿完硬币")

2、如果两个素数之差为2,这样的两个素数就叫做”孪生数“,找出100以内所有的”孪生数“

list=[]
for num in range(2,101):
    flag=True
    for i in range(2,num):
        if num%i==0:
            flag=False
            break
    if flag:
        list.append(num)
    else:
        pass
print(f"1~100之内的素数有:{list}")

i=1
while i<len(list):
    if list[i]-list[i-1]==2:
        print("{}和{}是孪生数".format(list[i],list[i-1]))
        if i==6 or i==10:
            print(" ")
    i+=1



3、给定一个列表,求最大值、最小值、平均值、求和

ls=[10,20,25,45,50,55,13,23]
max=ls[0]
min=ls[0]
sum=0
avg=0
i=0
while i<len(ls):
    sum+=ls[i]
    if ls[i]>max:
        max=ls[i]
    elif ls[i]<min:
        min=ls[i]
    i += 1
print(f"ls中最大的数为:{max}")
print(f"ls中最小的数为:{min}")
print(f"ls的和为:{sum}")
print(f"ls的平均数为:{sum/len(ls)}")

4、将list中的数据去重,至少使用两种方案

# 方法一:
list4 = [10,20,45,20,65,60,10,45]
list4.sort()
for i in list4:
    while list4.count(i)>1:
        del list4[list4.index(i)]
print(list4)

# 方法二:
list = [10,20,45,20,65,60,10,45]
list2=[]
for i in list:
    if i not in list2:
        list2.append(i)


5、两个列表进行合并操作

# 方法一:
list1=[1,2,3,4]
list2=[5,6,7,8]
list1.extend(list2)
print(f"两个列表合并之后的结果是:{list1}")
# 方法二:
list1=[1,2,3,4]
list2=[5,6,7,8]
print(f"两个列表合并之后的结果是:{list1+list2}")
# 方法三:
list1.append(list2)
print(f"两个列表合并之后的结果是:{list1}")

6、使用列表判断一个列表是否在另一个列表内

list1=[1,2,3,4]
list2=[1,2,3,4,5,6,7,8]
for element in list1:
    if element in list2:
        print(f"list1在list2中")
        break
    else:
        print(f"list1不在list2中")
        break

7、如何将0~10随机存入列表中

import random
list=[]
for i in range(0,10):
    num=random.randint(0,10)
    list.append(num)

print(f"列表中的元素为:{list}")

8、完成一个登录注册案例(要求使用容器保存数据)

users=[]
while True:
    print(f"欢迎进入用户注册页面")
    username=input("请输入用户名:")
    password=input("请输入密码:")
    if username==None or len(username)==0:
        print("用户名输入错误,请重新输入")
        continue
    flag=False
    for u in users:
        if u.get("username")==username:
            print(f"对不起,该用户已注册,请重新注册")
            flag=True
            break
    if flag:
        continue
    if len(password)<6:
        print(f"对不起,用户密码不能少于6位")
        continue

    user={"username":username,"password":password}
    users.append(user)
    print(f"用户注册成功")

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值