Python编程小例子—石头、剪子、布游戏

2024-04-19 07:52

本文主要是介绍Python编程小例子—石头、剪子、布游戏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

random库的应用—石头、剪子、布游戏

Random标准库的用法

在Python中,random是一个标准库,提供了生成随机数的功能。以下是一些常见用法:

  1. 生成随机整数:
import random# 生成指定范围内的随机整数
random_int = random.randint(1, 100)
  1. 生成随机浮点数:
import random# 生成0到1之间的随机浮点数
random_float = random.random()
  1. 从序列中随机选择元素:
import randomchoices = ['石头', '剪刀', '布']
random_choice = random.choice(choices)
  1. 打乱序列中元素的顺序:
import randomitems = [1, 2, 3, 4, 5]
random.shuffle(items)
  1. 生成随机种子:
import random# 设置随机种子,可复现随机结果
random.seed(42)
  1. 实现按照指定概率随机事件:
import random# 按照指定概率返回True或False
probability = 0.7
result = random.random() < probability

通过使用random标准库,可以方便地处理生成随机数、随机选择元素、打乱序列顺序等任务。

示例:剪刀、石头、布游戏

import random
'''
✊: \U0001F44A (对应Unicode码点:U+1F44A)
✌️: \U0000270C (对应Unicode码点:U+270C)
👋: \U0001F44B (对应Unicode码点:U+1F44B)
'''def rock_paper_scissors(player_choice, computer_choice):if player_choice == computer_choice:return "平局"elif (player_choice == '石头' and computer_choice == '剪刀') or \(player_choice == '剪刀' and computer_choice == '布') or \(player_choice == '布' and computer_choice == '石头'):return "玩家获胜"else:return "电脑获胜"# 初始化玩家赢的次数为0
player_win = 0
# 初始化电脑赢的次数为0
computer_win = 0
# 定义一个字典,键为1,2,3,值为石头、剪刀、布
choices_dict = {1:'石头', 2:'剪刀', 3:'布'}
unicode_dict = {1:'\U0001F44A', 2:'\U0000270C',3:'\U0001F44B'}
n = 0
ju = int(input('请输入局数:'))
while n < ju:print('- '*20)print(f'第{n+1}局开始:')try:player_choice = int(input("请输入你的选择(1<石头>、2<剪刀>、3<布>): "))computer_choice = random.randint(1,3)print(f"玩家选择了:{choices_dict[player_choice]}",unicode_dict[player_choice])print(f"电脑选择了:{choices_dict[computer_choice]}",unicode_dict[computer_choice])result = rock_paper_scissors(choices_dict[player_choice], choices_dict[computer_choice])if result == '玩家获胜':player_win += 1elif result == '电脑获胜':computer_win += 1print(f"游戏结果:{result}")print(f'第{n+1}局结束')n += 1except:print('请做出正确选择(1,2,3)!!!')breakprint(f'游戏最终结果:游戏玩家赢{player_win}场,计算机赢{computer_win}场。')

运行结果如下:

请输入局数:5
- - - - - - - - - - - - - - - - - - - -1局开始:
请输入你的选择(1<石头>2<剪刀>3<>): 1
玩家选择了:石头 👊
电脑选择了:剪刀 ✌
游戏结果:玩家获胜
第1局结束
- - - - - - - - - - - - - - - - - - - -2局开始:
请输入你的选择(1<石头>2<剪刀>3<>): 1
玩家选择了:石头 👊
电脑选择了:布 👋
游戏结果:电脑获胜
第2局结束
- - - - - - - - - - - - - - - - - - - -3局开始:
请输入你的选择(1<石头>2<剪刀>3<>): 2
玩家选择了:剪刀 ✌
电脑选择了:布 👋
游戏结果:玩家获胜
第3局结束
- - - - - - - - - - - - - - - - - - - -4局开始:
请输入你的选择(1<石头>2<剪刀>3<>): 3
玩家选择了:布 👋
电脑选择了:布 👋
游戏结果:平局
第4局结束
- - - - - - - - - - - - - - - - - - - -5局开始:
请输入你的选择(1<石头>2<剪刀>3<>): 1
玩家选择了:石头 👊
电脑选择了:剪刀 ✌
游戏结果:玩家获胜
第5局结束
游戏最终结果:游戏玩家赢3场,计算机赢1场。

以上的部分代码是在[小蜜蜂AI][https://zglg.work]GPT问答获取,然后本人有做了一些修改。

这篇关于Python编程小例子—石头、剪子、布游戏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/916969

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

nudepy,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - nudepy。 Github地址:https://github.com/hhatto/nude.py 在图像处理和计算机视觉应用中,检测图像中的不适当内容(例如裸露图像)是一个重要的任务。nudepy 是一个基于 Python 的库,专门用于检测图像中的不适当内容。该

国产游戏崛起:技术革新与文化自信的双重推动

近年来,国产游戏行业发展迅猛,技术水平和作品质量均得到了显著提升。特别是以《黑神话:悟空》为代表的一系列优秀作品,成功打破了过去中国游戏市场以手游和网游为主的局限,向全球玩家展示了中国在单机游戏领域的实力与潜力。随着中国开发者在画面渲染、物理引擎、AI 技术和服务器架构等方面取得了显著进展,国产游戏正逐步赢得国际市场的认可。然而,面对全球游戏行业的激烈竞争,国产游戏技术依然面临诸多挑战,未来的

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

Go Playground 在线编程环境

For all examples in this and the next chapter, we will use Go Playground. Go Playground represents a web service that can run programs written in Go. It can be opened in a web browser using the follow