python第四轮作业--容器

本文涵盖了编程中的多个核心概念,包括列表操作、素数查找、数据处理、算法实现及游戏模拟。通过实例展示了如何使用Python进行高效编程,涉及拿硬币问题、孪生数搜索、列表操作如求和、去重、合并,以及登录注册和游戏商城的模拟实现。内容丰富,适合初学者巩固基础和进阶提升。
摘要由CSDN通过智能技术生成

1. 有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币

[10, 8, 5, 3, 27, 99]

j=0
figure=list([10,8,5,3,27,99])
for i in figure:
    print(i)
    if i%2==0:
        j +=i//2
    else:
        j+=i//2+1
    print("最少次数为:",j)
    j=0

2.如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".

prime=[]
for i in range(2,101):
    for j in range(2,100):
        if (i%j==0):
            break
    if(i==j):
        prime.append(i)
print(prime)
twin=[]
for k in range(0,25):
    if (k+1)==25:
        break
    if prime[k+1]-prime[k]==2:
        twin.append(prime[k+1])
        twin.append(prime[k])
twin.remove(5)
twin.sort()
print(twin)

3.给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和

number=0
figure=[5,6,88,45,64,17,15,24,63,66,24,69,43,47,37,38,31,81]
print(len(figure))
for i in range(0,18):
    number+=figure[i]
figure.sort()
min=figure[0]
max=figure[len(figure)-1]
average=number/len(figure)
print("和:%f,平均值:%f,最大值:%f,最小值:%f"%(number,average,max,min))

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

#法一
number=[5,6,7,1,2,9,3,22,45,86,7,22,74,8,9,6,7,7]
redundant=[]
number.sort()
for i in range(0,len(number)-1):
    if number[i]==number[i+1]:
        redundant.append(number[i])
for j in redundant:
        number.remove(j)
print(number)

#法二
number=[5,6,7,1,2,9,3,22,45,86,7,22,74,8,9,6,7,7]
number=set(number)
print(number)

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

a=[1,2,5,6,7,8,9,5,6]
b=["d","f","h","j","u","r"]
#法一
print(a+b)
#法二
a.extend(b)
print(a)

6.使用列表判断一个列表是否在另外一个列表中

list1=[1,2,3,4,5,6,7,8,9,10]
list2=[1,2,3]
flag=0
for i in list1:
    for j in list2:
        if i==j:
            flag+=1
if flag==len(list2):
    print("list2在list1中")
else :
    print("list2不在list1中")

7.列表的反转 列表的排序

#列表的反转  列表的排序
a=[1,5,7,8,6,55,46,888,764,46,4648,51,11,351,464,5165,11,311,54,156,176]
#排序
a.sort()
print(a)
#反转
a.reverse()
print(a)

8.如何将0-10随机存入列表中

import random

figure=[]
figure=set(figure)
while True:
    a = random.randint(0, 10)
    figure.add(a)
    if len(figure)==11:
        break
figure=list(figure)
print(figure)

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

register=[]
while True:
    print("注册")
    user=input("输入用户名:")
    password=input("输入密码:")
    a={'user':user,'password':password}
    register.append(a)
    esc=input("输入y退出:")
    if esc=="y":
        break
print(register)

10 使用控制台,完成英雄联盟购买英雄

import sys

register = []
while True:
    print("\n\t\t 英雄联盟商城登录界面\n")
    print("~ *" * 28)
    print("\n")
    print("\t\t\t 1.用户登录\n")
    print("\t\t\t 2.新用户注册\n")
    print("\t\t\t 3.退出系统\n")
    print("~ *" * 28)
    print("\n")
    choice=int(input("(温馨提示)请输入您的选项:"))
    if choice==2:
        while True:
            print("注册")
            user = input("输入用户名:")
            password = input("输入密码:")
            a = {'user': user, 'password': password}
            register.append(a)
            esc = input("输入y退出:")
            if esc == "y":
                break
        print(register)
    elif choice==1:
        print("登陆")
        dicter={}
        user = input("输入用户名:")
        password = input("输入密码:")
        dicter['user']=user
        dicter['password']=password
        for i in register:
            if dicter==i:
                print("\n\t\t 英雄联盟商城首页\n")
                print("~ *" * 28)
                print("\n")
                print("\t\t\t 1.进入英雄超市\n")
                print("\t\t\t 2.休闲小游戏\n")
                print("\t\t\t 3.退出登录\n")
                print("~ *" * 28)
                print("\n")
                choice2 = int(input("(温馨提示)请输入您的选项:"))
                if choice2==1:
                    print("\t\t英雄联盟英雄列表")
                    print("~ *" * 20)
                    print("\r")
                    print("编号 姓名 昵称 价格 库存 描述")
                    print("1 纳尔 迷失之牙 3500 0 丛林不会原谅盲目与无知")
                    print("2 锐雯 放逐之刃 4000 0 她是残忍高效的战士")
                    print("3 薇恩 暗夜猎手 3500 0 这个世界不想人们想象的那么美好")
                    print("4 扎克 生化魔人 3000 0 即使你没有脊柱,你也必须站起来")
                    print("5 阿狸 九尾妖狐 10000 100 一人之行可灭世,众人之勤可救世!")
                    print("~ *" * 20)
                    x = int(input('(温馨提示)请输入您要购买的英雄编号:'))
                    print(end='\n')
                    while x <= 5:
                        if x == 5:
                            print("\t\t英雄商城购买英雄")
                            print("~*" * 20)
                            print("\r")
                            print("\t英雄名称:九尾妖狐(史诗)")
                            print("\t英雄属性:生命值428(+85)/能量值200(+0)/移动速度425/攻击力55.8(+3.2)")
                            print("\t\t攻击速度0.651(+3.1%)/护甲值24(+1.25)/攻击距离125")
                            print("\r")
                            print("\t英雄座右铭:一人之行可灭世,众人之勤可救世!")
                            print("\t英雄价格:10000")
                            print("\t活动折扣:9.5")
                            print("\r")
                            print("插播广告:当风云变色,当流离失所,世界不再是旧日模样")
                            print("你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡")
                            print("~ *" * 20)
                            y = input('(温馨提示)请付款:')
                            if y == "10000":
                                print("\t\t英雄商城购买英雄")
                                print("英雄购买票据")
                                print("~ *" * 20)
                                print("\r")
                                print("\t英雄名称:九尾妖狐(史诗)")
                                print("\t英雄价格:10000")
                                print("\t活动折扣:9.5")
                                print("\r")
                                print("\t应付付款:9500")
                                print("\t实际付款:10000")
                                print("\t找零:500")
                                print("\r")
                                print("插播广告:当风云变色,当流离失所,世界不再是旧日模样")
                                print("你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡")
                                print("~ *" * 20)
                                input('(温馨提示)按任意键返回初始菜单:')
                                break
                            print(end='\n')
                        elif x == 1 or x == 2 or x == 3 or x == 4:
                            print("该英雄没有库存")
                            print("输入大于5的数则退出系统")
                            x = int(input("请输入数字:"))
                            continue
                        else:
                            break
                    print("已退出登陆")
                elif choice2==2:
                    pass
                elif choice2==3:
                    break
    elif choice==3:
        sys.exit()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值