python实验3 石头剪刀布游戏

实验3:石头剪刀布游戏

  • 一、实验目的
  • 二、知识要点图
  • 三、实验
    • 1. 石头剪刀布
    • 2. 实现大侠个人信息

一、实验目的

  • 了解3类基本组合数据类型。
  • 理解列表概念并掌握Python中列表的使用。
  • 理解字典概念并掌握Python中字典的使用。
  • 运用jieba库进行中文分词并进行文本词频统计。

二、知识要点图

在这里插入图片描述

三、实验

1. 石头剪刀布

  • 实验题目

    • 利用列表实现石头剪刀布游戏。请补全程序并提交。
    • 请思考:winList使用元组实现可以吗?童鞋们,动手试试吧!
  • 作答

    • 第一次试写
      • 代码
        import random
        
        print("\n石头剪刀布比赛开始,请两位选手做出你的选择:")
        h1 = input("\t请第一位选手做出你的选择:(1=石头,2=剪刀,3=布)")
        h2 = input("\t请第二位选手做出你的选择:(1=石头,2=剪刀,3=布)")
        if
        
      • 总结:不懂怎么用列表进行比较。
    • 第二次试写(看完答案)
      # 看完老师答案试写
      import random
      
      choiceList = ["石头","剪刀","布"]
      winList = [["石头","剪刀"],["剪刀","布"],["布","石头"]]
      print("\n石头剪刀布游戏开始了!!!!!\n")
      while True:
          hchoice = input("请你输入你的选择(石头/剪刀/布/3-退出游戏):")
          cchoice = random.choice(choiceList)
          # 判断是否游戏结束
          if hchoice == "3":
              print("游戏结束。\n")
              break
          # 判断是否格式错误
          if hchoice not in choiceList:
              print("格式错误请重新输入。")
              continue
          if cchoice==hchoice:
              print("平局。")
          elif [hchoice,cchoice] in winList:
              print("恭喜您获胜!")
          else:
              print("不好意思,你输了。")
      
  • 流程图
    在这里插入图片描述

2. 实现大侠个人信息

  • 实验题目
    • 利用字典实现大侠个人信息查询程序。请补全程序并提交。
    • 请思考:如何修改程序,使用户只有在输入“exit”的时候才退出程序?诸位,亮亮你的手段吧!提示:可参考1中的石头剪刀布游戏。
  • 代码
    # 创建字典
    people = {
        '乔峰': {
            '绝技': '降龙十八掌',
            '门派': '丐帮'
        },
        '张无忌': {
            '绝技': '乾坤大挪移',
            '门派': '明教'
        },
        '令狐冲': {
            '绝技': '独孤九剑',
            '门派': '华山派'
        }
    }
    
    name = input('输入你想要查询的人:')
    r = input('请选择大侠的绝技(q)还是门派(a):')
    if r=='q':
        y='绝技'
    else:
        y='门派'
    print("{}大侠{}是{}".format(name,y,people[name][y]))
    
    
  • 总结
    • 字典的用法(借鉴文章)
      • 获取键对应的值
        • 方法一:访问键
          d = {'小明': 180, "小芳": 175, "小红": 170}
          
          print('小明的身高:',d['小明'])	# 通过字典里面的键['小明']取value
          print('小方的身高:',d['小芳'])	# 通过字典里面的键['小芳']取value
          print('小红的身高:',d['小红'])	# 通过字典里面的键['小红']取value
          
        • 方法二:用get()
          d = {'小明': 180, "小芳": 175, "小红": 170}      # 创建字典
          
          # .get('键')
          
          print('小明的身高:',d.get('小明'))
          print('小方的身高:',d.get('小芳'))
          print('小红的身高:',d.get('小红'))
          ————————————————
          版权声明:本文为CSDN博主「王同学在这」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
          原文链接:https://blog.csdn.net/flyskymood/article/details/124124859
          
      • 常见操作
          • 测量键值对的个数dict.len()
          • 返回key列表dict.keys()
          • 返回values列表dict.values()
          • 返回(键,值)元组列表dict.items()
        • d = {'小明': 180, "小芳": 175, "小红": 170}   # 创建字典
          
          d['小王'] = 180   # 添加小王身高
          d['小李'] = 185   # 添加小李身高
          
        • d = {'小明': 180, "小芳": 175, "小红": 170}   # 创建字典
          
          d['小王'] = 180   # 添加小王身高
          d['小李'] = 185   # 添加小李身高
          
          d['小李'] = 180   # 小李真正身高
          
        • d = {'小明': 180, "小芳": 175, "小红": 170,"小王":180}   # 创建字典
          
          del d['小红']  # 删除小红信息
          
      • 编程过程中错误的内容:二级字典的使用方法people[name][y]

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

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

相关文章

JSON.stringify方法详解 后端接受JSON数据格式

1、方法定义:JSON.stringify(value, replacer, space) 参数说明: value:js对象 replacer:替换对象,可以是一个方法、对象或数组,将value按照替换规则展示。 space:填充参数,可以是数…

Protocol handler start failed

背景 上一次启动项目还好好的,关闭项目重新打开时,报错了! 报错提示 英文:Protocol handler start failed 翻译:协议处理程序启动失败 原因 端口被其他程用了,导致端口冲突。 解决方案 打开任务管理…

深入理解Java中的String、StringBuilder和StringBuffer(每天一个技术点,第一天)

大家好,我是你们的博主每天一个技术点。今天,我们将探讨Java中的一个重要主题:String、StringBuilder和StringBuffer。这些类在Java编程中无处不在,但它们之间的区别和用法可能并不是所有人都清楚。所以,让我们深入了解…

10分钟的时间,带你彻底搞懂JavaScript数据类型转换

前言 📫 大家好,我是南木元元,热衷分享有趣实用的文章,希望大家多多支持,一起进步! 🍅 个人主页:南木元元 目录 JS数据类型 3种转换类型 ToBoolean ToString ToNumber 对象转原…

Flutter加固原理及加密处理

​ 引言 为了保护Flutter应用免受潜在的漏洞和攻击威胁,加固是必不可少的措施之一。Flutter加固原理主要包括代码混淆、数据加密、安全存储、反调试与反分析、动态加载和安全通信等多个方面。通过综合运用这些措施,可以提高Flutter应用的安全性&#xf…

【UE】热成像效果

效果 步骤 1. 新建一个空白项目,勾选“光线追踪”选项 2. 添加一个第一人称游戏内容包到项目 3. 打开第一人称角色蓝图“BP_FirstPersonCharacter”,添加一个后期处理组件 在事件图表中设置通过按键N来切换不同的后期处理效果 将后期处理设置引脚提升为…

golang—kafka架构原理快速入门以及自测环境搭建(docker单节点部署)

kafka Apache Kafka 是一个分布式的流处理平台。它具有以下特点: 支持消息的发布和订阅,类似于 RabbtMQ、ActiveMQ 等消息队列支持数据实时处理能保证消息的可靠性投递支持消息的持久化存储,并通过多副本分布式的存储方案来保证消息的容错高…

SaaS模式C/S检验科LIS系统源码

适用于医院检验科实际需要的管理系统, 实现检验业务全流程的计算机管理。从检验申请、标本编号、联机采集、中文报告单的生成与打印、质控图的绘制和数据的检索与备份。通过将所有仪器自身提供的端口与科室LIS系统中的工作站点连接,实现与医院HIS系统的对接。 通过门诊医生和住…

TEMU和SHEIN平台的卖家了解测评吗?

最近越来越多的商家都入驻了temu和shein平台,为了让自己的产品能更具有优势,就会用到测评来做一些产品销量和评论,那么测评应该怎么做呢? 测评就是卖家通过测评平台,社区,红人等等这些联系国外的买家&…

el-select多选框,数据拼接

将多选框数据 按照逗号拼接为字符串 getTagIds(data, type) {if (type "array") {let array data.join(",")return array} else {let string data.split(",");return string}}, 在调用这个方法时需要,另外传一个字符串type,以此来…

面试篇之微服务(一)

目录 概览 1.什么是微服务? 2.微服务带来了哪些挑战? 3.现在有哪些流行的微服务解决方案? 这三种方案有什么区别吗? 4.说下微服务有哪些组件? 注册中心 5.注册中心是用来干什么的? 6.SpringCloud可…

Embassy 库下载代码示例

解决方案: swift import Embassy let downloader Downloader() // 使用代理主机和端口 downloader.useProxy(proxyHost: ") // 下载 URL 的内容 let content downloader.download(from: "") // 输出下载的内容 print(content) 这个程序首先…

Spring Cloud Stream如何屏蔽不同MQ带来的差异性?

引言 在当前的微服务架构下,使用消息队列(MQ)技术是实现服务解耦和削峰填谷的重要策略。为了保证系统的灵活性和可替换性,我们需要避免对单一开源技术的依赖。 市面上有多种消息队列技术,如 Kafka、RocketMQ、Rabbit…

从零构建属于自己的GPT系列1:文本数据预处理、文本数据tokenizer、逐行代码解读

🚩🚩🚩Hugging Face 实战系列 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在PyCharm中进行 本篇文章配套的代码资源已经上传 从零构建属于自己的GPT系列1:文本数据预处理 从零构建属于自己的GPT系列2:语…

【精选】Spring整合MyBatis,Junit 及Spring 事务Spring AOP面向切面详解

Spring整合MyBatis 搭建环境 我们知道使用MyBatis时需要写大量创建SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession等对象的代码,而Spring的作用是帮助我们创建和管理对象,所以我们可以使用Spring整合MyBatis,简化MyBatis开发。 …

【Web端CAD/CAE文字标注】webgl+canvas 2d实现文字标注功能

一、需求背景 在CAD/CAE领域经常会遇到显示节点编号这种需求,效果如下图: 本文介绍如何在WebGL中实现文字的显示,对于如何在OpenGL中实现请绕路。 二、实现原理 Canvas是HTML5提供的元素,用于在网页上绘制图形,其支…

elasticsearch DSL语句

目录 一、DSL查询文档1.1 DSL查询分类1.2 全文检索查询1.3 精确查询1.4 地理坐标查询1.5 复合查询1.5.1 相关性算分1.5.2 算分函数查询1.5.3 布尔查询 二、搜索结果处理2.1 排序2.2 分页2.3 高亮2.4 总结 三、RestClient查询文档3.1 查询所有3.2 match查询3.3 精确查询3.4 布尔…

PyMuPDF---Python处理PDF的宝藏库详解

1、PyMuPDF简介 1.1 介绍 在介绍PyMuPDF之前,先来了解一下MuPDF,从命名形式中就可以看出,PyMuPDF是MuPDF的Python接口形式。 MuPDF MuPDF 是一个轻量级的 PDF、XPS和电子书查看器。MuPDF 由软件库、命令行工具和各种平台的查看器组成。 …

C语言进阶之笔试题详解(2)

前言 这里的内容包括二维数组笔试题和指针笔试题,供给读者对这部分知识进行加深和巩固。 ✨ 猪巴戒:个人主页✨ 所属专栏:《C语言进阶》 🎈跟着猪巴戒,一起学习C语言🎈 目录 前言 笔试题 二维数组 题目…

借助文档控件Aspose.Words,在 C# 中比较两个 PDF 文件

在当今的数字世界中,管理和比较文档是一项至关重要的任务,尤其是在商业和法律领域。在 C# 中处理 PDF 文档时,Aspose.Words for .NET 提供了用于比较 PDF 文档的强大解决方案。在这篇博文中,我们将探讨如何在 C# 应用程序中比较 P…