实验名称:组合数据类型

大家好!欢迎收听你的月亮我的心!我是肖老师!好久不见!

目录

一、实验目的:

二、实验环境:

三、实验步骤:

四、实验结果:

1.已知列表li_one=[1,2,1,2,3,5,4,3,5,7,4,7,8],删除列表中重复数据

2.已知列表li_num1=[5,5,2,7]和li_num2=[3,6], 将这两个列表合并为一个列表,并将合并后的列表中的元素按降序排列

3.学校招聘了8名新教师,学校有3个空闲办公室,编写程序实现将8名教师随机分配办公室的功能。如下图:

4.十大歌手评选(page64)

5.分类统计字符个数

编写程序,用户输入一个字符串,以回车结束,利用字典统计其中字母和数字出现的次数(回车符代表结束)。输入格式是一个以回车结束的字符串,例如输入abc1ab,输出{'a': 2, 'b': 2, 'c': 1, '1': 1}。

6.计票机制(page68)

7.完成斗地主发牌看牌操作(要求看牌时排序展示)

五、实验心得:


一、实验目的:

1.已知列表li_one=[1,2,1,2,3,5,4,3,5,7,4,7,8],删除列表中重复数据

2.已知列表li_num1=[5,5,2,7]和li_num2=[3,6], 将这两个列表合并为一个列表,并将合并后的列表中的元素按降序排列

3.学校招聘了8名新教师,学校有3个空闲办公室,编写程序实现将8名教师随机分配办公室的功能。如下图:

4.十大歌手评选(page64)

5.分类统计字符个数

编写程序,用户输入一个字符串,以回车结束,利用字典统计其中字母和数字出现的次数(回车符代表结束)。输入格式是一个以回车结束的字符串,例如输入abc1ab,输出{'a': 2, 'b': 2, 'c': 1, '1': 1}。

6.计票机制(page68)

7.完成斗地主发牌看牌操作(要求看牌时排序展示)

二、实验环境:

安装pycharm2023.3.4 

安装适配的jdk

三、实验步骤:

1.已知列表li_one=[1,2,1,2,3,5,4,3,5,7,4,7,8],删除列表中重复数据

  • 使用列表的set函数,删除重复数据
  • 输出重新筛选后的列表

2.已知列表li_num1=[5,5,2,7]和li_num2=[3,6], 将这两个列表合并为一个列表,并将合并后的列表中的元素按降序排列

  • 创一个新列表=两个列表相加
  • Reverse这个新列表
  • 输出结果

3.学校招聘了8名新教师,学校有3个空闲办公室,编写程序实现将8名教师随机分配办公室的功能。如下图:

  • 先创建老师对象
  • 再创建教室
  • 随机分配需要调用random函数
  • 将随机分配的老师加入教室列表
  • 输出结果

4.十大歌手评选(page64)

  • 使用列表接收评委的分数
  • 减去一个最高分,减去一个最低分
  • 总分除以8得到的就是选手的平均分
  • 输出结果
  • 分类统计字符个数

5.编写程序,用户输入一个字符串,以回车结束,利用字典统计其中字母和数字出现的次数(回车符代表结束)。输入格式是一个以回车结束的字符串,例如输入abc1ab,输出{'a': 2, 'b': 2, 'c': 1, '1': 1}。

  • 创建一个空字典,用于存储字母和数字的出现次数
  • 使用input函数获取用户输入的字符串,并将其保存到一个变量中
  • 使用for循环遍历字符串中的每个字符
  • 在循环中,使用isalpha()函数判断字符是否为字母,使用isdigit()函数判断字符是否为数字
  • 如果字符是字母或数字,则在字典中对应的键的值加1。如果字典中不存在该键,则将该键添加到字典中,并将值初始化为1
    • 循环结束后,输出最终的字典结果

6.计票机制(page68)

  • 创建一个空字典,用来记录票数
  • 输入候选人的名字
  • 进行计票排序
  • 输出结果

7.完成斗地主发牌看牌操作(要求看牌时排序展示)

  • 副牌(52+2=54张)
  • 有大小王,用提供的国王和皇后的符号表示大小王
  • 54张牌发给3个玩家,每人17张牌,并有3张底牌。
  • 输出3个玩家的牌,按照由小到大,黑红梅方的顺序。
  • 输出3张底牌
  • 输出每个玩家有几个炸弹(4张面值一样的牌,或者大小王在一起,为一个炸弹)

四、实验结果:

1.已知列表li_one=[1,2,1,2,3,5,4,3,5,7,4,7,8],删除列表中重复数据

#1.已知列表li_one=[1,2,1,2,3,5,4,3,5,7,4,7,8],删除列表中重复数据
# set()函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
s = [1,2,1,2,3,5,4,3,5,7,4,7,8]
print(set(s))

2.已知列表li_num1=[5,5,2,7]和li_num2=[3,6], 将这两个列表合并为一个列表,并将合并后的列表中的元素按降序排列

# 2.已知列表li_num1=[5,5,2,7]和li_num2=[3,6], 将这两个列表合并为一个列表,并将合并后的列表中的元素按降序排列
li_num1=[5,5,2,7]
li_num2=[3,6]
li_num3 = li_num1 + li_num2
li_num4 =sorted(li_num3)
li_num4.reverse()
print(li_num4)

3.学校招聘了8名新教师,学校有3个空闲办公室,编写程序实现将8名教师随机分配办公室的功能。如下图:

# 学校招聘了8名新教师,学校有3个空闲办公室,编写程序实现将8名教师随机分配办公室的功能。
import random
teachers = ['孙老师','何老师','黄老师','肖老师','林老师','汤老师','陈老师','杨老师']
offices = [[], [], []]
for name in teachers:
    num = random.randint(0, 2)
    offices[num].append(name)
print(f"三个办公室的随机分配情况是;", offices)
i = 1
for office in offices:
    print(f"办公室{i}的人数是{len(office)},老师分别是:  ", end='')
    for name in office:
        print(name.center(5), end='\t')
        i += 1
    print()
print('_' * 100)

4.十大歌手评选(page64)

# 4.十大歌手评选(page64)
list = []
sum = 0
for i in range(1, 11):
    score = (int(input(f"第{i}位评委评分:")))
    list.append(score)
list.sort()

print('去掉最低分:', list[0])
print('去掉最高分:', list[-1])
list.remove(list[0])
list.remove(list[-1])
for j in list:
    sum = sum + j
average = sum / 8
print('选手最终得分为:', average)

5.分类统计字符个数

编写程序,用户输入一个字符串,以回车结束,利用字典统计其中字母和数字出现的次数(回车符代表结束)。输入格式是一个以回车结束的字符串,例如输入abc1ab,输出{'a': 2, 'b': 2, 'c': 1, '1': 1}。

def count_chars_and_digits(string):
    count_dict = {}
    for char in string:
        if char.isalpha() or char.isdigit():
            count_dict[char] = count_dict.get(char, 0) + 1
    return count_dict

input_string = input("请输入一个字符串:")
result = count_chars_and_digits(input_string)
print(result)

6.计票机制(page68)

#计票程序
dic = {}

s = input('请输入候选人的姓名(输入“#”结束):')

while s != '#':
    dic[s] = dic.get(s, 0) + 1  # 统计出现的次数

    s = input('请输入候选人的姓名(输入“#”结束):')

print('候选人及得票数如下:')

for key in dic.keys():
    print(key, str(dic.get(key)) + '票')

7.完成斗地主发牌看牌操作(要求看牌时排序展示)

#斗地主发牌
import random

player_one = []
player_two = []
player_three = []  # 三个用户
under_card = []  # 底牌
card = []  # 新牌
for i in range(1, 14):
    if i == 1:
        i = "A"
    elif i == 11:
        i = "J"
    elif i == 12:
        i = "Q"
    elif i == 13:
        i = "K"
    card.append(str(i) + "♠")
    card.append(str(i) + "♣")
    card.append(str(i) + "♦")
    card.append(str(i) + "♥")  # 生成牌

card.append("red_King")
card.append("black_King")  # 添加大小王

# 洗牌,多洗几次
for i in range(3):
    random.shuffle(card)

k = 0
while k < 51:
    player_one.append(card[k])
    player_two.append(card[k + 1])
    player_three.append(card[k + 2])
    k = k + 3

print("底牌是: ")
under_card = card[51: 54]
print(under_card)

# 把牌给地主!
dz = eval(input("请输入地主是几号玩家?"))
if dz == 1:
    player_one = player_one + under_card
elif dz == 2:
    player_two = player_two + under_card
elif dz == 3:
    player_three = player_three + under_card

print("一号玩家的牌是:")
print(sorted(player_one))
print("二号玩家的牌是:")
print(sorted(player_two))
print("三号玩家的牌是:")
print(sorted(player_three))

自己截图放结果!!!!!

五、实验心得:

  1. 要迎难而上,不能有畏难心理
  2. 代码要多敲
  3. 敲到实在想不出也不要放弃,说不定离成功就差一步

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/677485.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决使用Python检查本地网络中运行的Web服务器的问题

如果我们要检查本地网络中运行的 Web 服务器&#xff0c;可以使用 Python 的 socket 模块来进行网络连接测试。以下是一个简单的示例代码&#xff0c;演示如何检查本地网络中运行的 Web 服务器&#xff1a; 1、问题背景 在学习如何使用 Python 时&#xff0c;一位用户希望编写…

C#的web项目ASP.NET

添加实体类和控制器类 using System; using System.Collections.Generic; using System.Linq; using System.Web;namespace WebApplication1.Models {public class Company{public string companyCode { get; set; }public string companyName { get; set; }public string com…

开始报名!龙蜥社区系统安全 Meetup 硬核议程发布

在数字化时代&#xff0c;随着云计算、大数据和人工智能等技术的广泛应用&#xff0c;操作系统扮演着关键的角色&#xff0c;成为支撑关键业务和数据的核心基础设施。在这一背景下&#xff0c;操作系统的安全性显得尤为重要&#xff0c;它直接影响着信息系统的稳定运行和持续发…

RocketMQ---Day1

RocketMQ---Day1 1.认识MQ 火车案例&#xff1a; 人就相当于消息 进站口将消息分发给不同的候车厅&#xff08;主题&#xff09; 火车将不同候车厅的人拉走&#xff08;消费不同主题里面的数据&#xff09; MQ是一种消息中间件。 2.微服务的远程调用 1.同步调用 RPC&am…

(Arkts界面示例)ets pages Demo

Index.ets 文件 import router from ohos.routerEntry//表示该自定义组件为入口组件 Component //表示自定义组件 struct Index {//表示组件中的状态变量&#xff0c;状态变量变化会触发UI刷新State changeValue: string State submitValue: string controller: SearchContr…

04.docker的主要组成部分

docker体验 docker是传统的CS架构分为docker client和docker server,跟mysql一样 查看版本命令&#xff1a;docker version 查看docker下载的是社区版,ce代表社区 rpm -qa |grep docker 查看docker系统命令 docker system docker info&#xff08;如果要做监控&#xff…

机器视觉开启航空安全新篇章:飞机复合材料检测研究进展,军工材料、智能装备和通信技术全产业链博览会

"精准把控行业标准&#xff1a;机器视觉在飞机垂尾复合材料检测中的应用" 随着航空航天技术的快速发展&#xff0c;飞机制造的质量控制要求越来越高&#xff0c;尤其是对于关键部件如垂尾复合材料零件的缺陷检测。基于机器视觉的检测技术因其非接触、高效率和高精度…

使用 Django Channels 构建实时聊天应用(包含用户认证和消息持久化)

文章目录 准备工作创建 Django 项目创建应用程序配置项目编写 Consumer编写路由创建 URL 路由运行应用用户认证消息持久化显示历史消息结论 Django Channels 是 Django 的一个扩展&#xff0c;允许在 Web 应用中添加实时功能&#xff0c;例如 Websockets、HTTP2 和其他协议。本…

虚拟机安装 RockyLinux为例

目录 一、VMWare、Xshell、Xftp、LinuxISO资料下载 二、VMWare安装 三、创建虚拟机 四、虚拟机安装过程的问题 一、VMWare、Xshell、Xftp、LinuxISO资料下载 链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;6666 二、VMWare安装 三、创建虚拟机 四、虚拟机安装…

企业如何利用智能防止截屏保护商业机密

在数字化时代&#xff0c;企业商业机密的保护变得尤为重要。智能防止截屏技术作为一种先进的数据安全手段&#xff0c;能够帮助企业有效防止商业机密的泄露。本文将探讨企业如何利用这一技术保护其宝贵的商业信息。 一、商业机密面临的威胁 商业机密包括但不限于产品设计方案…

微信小程序毕业设计-电影院订票选座系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

基于单片机的八路抢答器设计论文

绪 论1.1 课题研究的相关背景 抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。早期的抢答器只由几个三极管、可控硅、发光管等组成,能通过发光管的指示辩认出选手号码。现在大多数抢答器均使用单片机(如MCS-5…

中间件解析漏洞及Apache解析漏洞原理和复现

Apache漏洞 Apache HTTPD 多后缀解析漏洞 httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程&#xff0c;它会建立 一个处理请求的子进程或线程的池。 漏洞原理 apache httpd支持一个文件有多个后缀&#xff0c;如&#xff1a;shell.php.d…

【ArcGIS微课1000例】0114:基于DEM地形数据整体抬升或下降高程

相关阅读:【GlobalMapper精品教程】083:基于DEM整体抬升或下降地形高程的两种方式 文章目录 一、任务分析二、栅格计算器简介三、地形整体修改四、注意事项一、任务分析 打开软件,加载配套实验数据中的0112.rar中的dem数据,如下所示,dem的高程范围为256.75~342.37米,现在…

【自然语言处理】文本情感分析

文本情感分析 1 任务目标 1.1 案例简介 情感分析旨在挖掘文本中的主观信息&#xff0c;它是自然语言处理中的经典任务。在本次任务中&#xff0c;我们将在影评文本数据集&#xff08;Rotten Tomato&#xff09;上进行情感分析&#xff0c;通过实现课堂讲授的模型方法&#x…

企业数字化转型顶层设计与企业架构TOGAF9.2认证【鉴定级】

什么是TOGAF TOGAF由国际标准权威组织 The Open Group制定。The Open Group于1993年开始应客户要求制定系统架构的标准&#xff0c;在1995年发表The Open Group Architecture Framework (TOGAF) 架构框架。2022年4月25日发布了TOGAF的最新版本10&#xff0c;目前&#xff0c;T…

如何用TCC方案轻松实现分布式事务一致性

本文作者:小米,一个热爱技术分享的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! 哈喽,大家好!我是小米,一个热爱技术的活力小青年,今天要和大家分享的是一种在分布式系统中实现事务的一种经典方案——TCC(Try Confirm Canc…

【机器学习】朴素贝叶斯算法及其应用探索

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 朴素贝叶斯算法及其应用探索引言1. 朴素贝叶斯基本概念1.1 贝叶斯定理回顾1.2 朴…

Docker compose 部署Grafana+Prometheus实现java应用JVM监控

这里是小奏,觉得文章不错可以关注公众号小奏技术 背景 最近可能要对一些java应用进行JVM监控&#xff0c;比如一些中间件 实际如果是普通应用比较简单的就是上相对来说重量一点的skywalking、armas 这种监控比较全&#xff0c;啥都有。 当然如果我们要轻量一点只监控JVM就可…

Centos 报错 One of the configured repositories failed

目录预览 一、问题描述二、原因分析三、解决方案四、参考链接 一、问题描述 使用yum update更新命令就出现下面问题&#xff0c;系统是刚安装的&#xff0c;然后修改了一下IP变成手动。&#xff08;排查问题前&#xff0c;先回顾自己做了哪些操作&#xff0c;方便进一步排错&a…