一、有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币,[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 ( "最少%s" % ( x) + "次可以拿完硬币" )
二、如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".
ls = [ ]
for num in range ( 2 , 101 ) :
flag = True
for i in range ( 2 , num) :
if num% i == 0 :
flag = False
break
if flag:
ls. append ( num)
else :
pass
print ( "1~100以内的素数有:" )
print ( ls)
i = 1
while i < len ( ls) :
if ls[ i] - ls[ i - 1 ] == 2 :
print ( "{}和{}是孪生数" . format ( ls[ i] , ls[ i - 1 ] ) , end= "\n\n" )
if i == 6 or i == 10 :
print ( " " )
i += 1
三、给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和
ls= [ 10 , 20 , 25 , 45 , 50 , 55 , 13 , 23 ]
max_num= 25
for i in ls :
if i> max_num:
max_num = i
print ( "最大值为:%s" % max_num)
# 最小值
min_num = 55
for i in ls:
if i < min_num:
min_num = i
print ( "最小值是:%s" % min_num)
# 平均值
avg_num= 0
for i in ls :
avg_num+= i
print ( "平均值是:%s" % ( avg_num/ len ( ls) ) )
# 和
sun_num= 0
for i in ls :
sun_num+= i
print ( "平均值是:%s" % ( sun_num) )
四、将list中的重复数据去重,至少使用两种方案
方法一用set 消除重复元素
ls = [ 10 , 20 , 25 , 20 , 60 , 65 , 25 ]
for i in ls :
ls2= list ( set ( ls) )
print ( "去重后的元素为:%s" % ls2)
# 方法二:
ls= [ 1 , 3 , 3 , 5 , 6 , 6 , 7 ]
ls2= [ ]
for i in ls:
if i not in ls2:
ls2. append ( i)
print ( "去重后的元素为:%s" % ls2)
五、两个列表进行合并操作
ls1= [ 1 , 2 , 3 , 4 , 5 , 6 ]
ls2= [ 7 , 8 , 9 , 10 , 11 ]
print ( '合并后的列表为:% s'% ( ls1+ ls2) )
# 方法二
ls1. extend ( ls2)
print ( '合并后的列表为:% s'% ls1)
方法三
ls1. append ( ls2)
print ( '合并后的列表为:% s'% ls1)
六、 使用列表判断一个列表是否在另外一个列表中
ls1= [ 1 , 2 , 3 , 4 , 5 , 6 ]
ls2= [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ]
for i in ls1:
if i not in ls2:
print ( "列表1不在列表2中" )
break
else :
print ( "列表1在列表2中" )
break
七、列表的反转 列表的排序
ls= [ 1 , 56 , 25 , 35 , 84 ]
for i in ls:
ls. reverse ( )
print ( "反转后的元素为:%s" % ls)
ls2= [ 1 , 55 , 26 , 34 , 8 , - 1 ]
ls2. sort ( )
print ( "排序后的元素为:%s" % ls2)
八、如何将0-10随机存入列表中
import random
ls= [ ]
for i in range ( 1 , 11 ) :
num= random. randint( 1, 11)
ls. append ( num)
print ( "添加后的元素为:%s" % ls)
九、完成一个登录注册案例(要求使用容器保存数据)
users= [ ]
while True:
print ( "欢迎进入到用户注册页面" )
username = input ( "请输入用户名称:" )
password = input ( "请输入用户密码:" )
confirm_password = input ( "请再次确认密码:" )
if username == None or len ( username) == 0 :
print ( "对不起,用户为空" )
continue
flag = False
for u in users:
if u. get ( "username" ) == username:
print ( "对不起,该用户已经存在,请重新注册" )
flag = True
break
if flag:
continue
if len ( password) < 6 :
print ( "对不起,密码长度不能少于6位" )
continue
if password != confirm_password:
print ( "两次密码不一致" )
continue
user = { "username" : username, "password" : password}
users. append ( user)
print ( "用户注册成功,请登录" )
break
十、使用控制台,购买英雄的界面
users= [ ]
from secrets import choice
print ( "\t\t英雄联盟商城登录界面" )
print (
'''
英雄联盟商城登录界面
~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~
1 . 用户登录
2 . 新用户注册
3 . 退出系统
~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~
'''
)
choice= int ( input ( "(温馨提示)请输入您的选项:" ) )
if choice== 1 :
print ( "欢迎进入到用户登录页面" )
username = input ( "请输入用户名称:" )
password = input ( "请输入用户密码:" )
for user in users:
if user[ "username" ] == username and user. get ( "password" ) == password:
print ( "恭喜您,{},登录成功" . format ( username) + '''
英雄商城英雄列表
~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~
编号 姓名 昵称 价格 折扣 库存 描述
1 纳尔 迷失之牙 3500 9.5 100 丛林不会原谅盲目与无知
2 锐雯 放逐之刃 4000 9.5 100 她是残忍高效的战士
3 薇恩 暗夜猎手 3500 9.56 100 这个世界不想人们想象的那么美好
4 扎克 生化魔人 3000 9.8 100 即使你没有脊柱,你也必须站起来
5 杰斯 未来守护者 2500 6.5 100 武装着睿智与魅力,你的选择没有错
~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~
''')
choice== int ( input ( "请您选择商品:" ) )
a= int ( input ( "请输入商品价格:" ) )
num= int ( input ( "请输入购买数量:" ) )
c= float ( input ( "请输入您购买的商品的折扣:" ) )
payways= str ( input ( "请您选择以下的付款方式:支付宝、微信、或者是银行卡:" ) )
if payways== "支付宝" :
print ( "您选择的支付方式为:支付宝,您需要支付的金额为:%s" % ( a* num* c/ 10 ) )
elif payways== "微信" :
print ( "您选择的支付方式为:微信,您需要支付的金额为:%s" % ( a* num* c/ 10 ) )
elif payways== "银行卡" :
print ( "您选择的支付方式为:银行卡,您需要支付的金额为:%s" % ( a* num* c/ 10 ) )
else :
print ( "对不起,登录失败,请重新登录~~" )
if choice== 2 :
print ( "欢迎进入到用户注册页面" )
username = input ( "请输入用户名称:" )
password = input ( "请输入用户密码:" )
confirm_password = input ( "请再次确认密码:" )
if username == None or len ( username) == 0 :
print ( "对不起,用户为空" )
flag = False
for u in users:
if u. get ( "username" ) == username:
print ( "对不起,该用户已经存在,请重新注册" )
flag = True
break
if flag:
continue
if len ( password) < 6 :
print ( "对不起,密码长度不能少于6位" )
continue
if password != confirm_password:
print ( "两次密码不一致" )
continue
user = { "username" : username, "password" : password}
users. append ( user)
print ( "用户注册成功,请登录" )
print ( )
else :
print ( "退出系统" )