python代码练习:石头剪刀布猜拳游戏

python代码练习:石头剪刀布猜拳游戏

  • 题目
  • 结果展示
  • 源代码

题目

使用Python实现人机石头剪刀布猜拳小游戏,并且最后能够统计分数和局数

结果展示

image-20230703164725215

源代码

# -*- coding: utf-8 -*-
# @Course : python 基础
# @Time : 2023/7/2 14:21
# @Author : Eden Wei
# @FileName: 石头剪刀布.py
# @Software: PyCharm 2022.1.3 (Professional Edition)
import random

player_score = 0
computer_score = 0
count = 0
print('''
* * * * * * * 欢迎来到4399游戏平台* * * * * * * 
              石头    剪刀    布               
* * * * * * * * * * * * * * * * * * * * * * * 
''')
player_name = input('请输入玩家姓名:')
print('1.貂蝉     2.曹操    3.诸葛亮')
computer_choice = input('请输入电脑角色:')
if computer_choice == '1':
    computer_choice = '貂蝉'
elif computer_choice == '2':
    computer_choice = '曹操'
elif computer_choice == '3':
    computer_choice = '诸葛亮'
else:
    print('选择错误,隐藏角色!')
    computer_choice = '匿名'
print(player_name, 'VS', computer_choice)
while True:
    count += 1;
    player_fist_choice = eval(input('----------请出拳:  1.石头   2.剪刀   3.布---------'))
    if player_fist_choice == 1:
        player_fist_name = '石头'
    elif player_fist_choice == 2:
        player_fist_name = '剪刀'
    elif player_fist_choice == 3:
        player_fist_name = '步'
    else:  # 用户输入的不是1,2,3,随机选择
        print('输入错误,随机选择')
        player_fist_choice = random.randint(1, 3)
        player_fist_name = ['石头', '剪刀', '布'][player_fist_choice - 1]
    print(player_name, '出拳:', player_fist_name)
    # 电脑出拳
    computer_fist_choice = random.randint(1, 3)
    computer_fist_name = ['石头', '剪刀', '布'][computer_fist_choice - 1]
    print(computer_choice, '出拳', computer_fist_name)

    # 判断结构,谁赢谁输,有三种结果,平,输,赢
    if computer_fist_choice == player_fist_choice:
        print('平局')
    elif (player_fist_choice == 1 and computer_fist_choice == 2) or \
            (player_fist_choice == 2 and computer_fist_choice == 3) or \
            (player_fist_choice == 3 and computer_fist_choice == 1):  # 玩家赢
        print(player_name, '大获全胜,不服再战啊')
        player_score += 1
    else:
        print(computer_choice, '胜利')
        computer_score += 1
    answer = input('再来一局不?y/n')
    if answer != 'y':
        break

# 判断总比分
# 判断总比分
print('-' * 100)
print(player_name, 'VS', computer_choice)
print(f'一共对战了:{count}局')  # 第一次直播讲了
print(player_name, '得分:', player_score)
print(computer_choice, '得分:', computer_score)
if player_score == computer_score:
    print('不分上下,平分秋色')
elif player_score > computer_score:
    print(player_name, '最终胜利')
else:
    print(f'大下无敌,我是:{computer_choice}')


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

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

相关文章

vue筛选框封装

点击对默认查询条件之外的条件进行 增加或删除 在使用的组件或标签加入:filtrateList"filtrateList"传入条件查询数组 当前demo写在xk-page中,就以xk-page组件为例 <xk-upage :filtrateList"filtrateList" :queryArr"queryArr"></xk-…

Vue3setup的参数说明

setup的两个参数 setup包含两个参数&#xff0c;一个为props、一个为context &#xff08;均为形参&#xff09; props&#xff1a;值为对象&#xff0c;包含&#xff1a;组件外部传递过来&#xff0c;且组件内部声明接收了的属性。context&#xff1a;上下文对象 <scrip…

LIN总线与RS485总线

LIN&#xff08;Local Interconnect Network&#xff0c;局部互连网络&#xff09;总线和RS485都是用于设备间通信的串行通信协议。下面我将分别列出它们的优势和劣势。 LIN总线的优势&#xff1a; 简单性&#xff1a;LIN总线的硬件和协议简单&#xff0c;易于实现和维护。成…

JVM常用参数

以下是 JVM 常用参数的配置 内存相关参数&#xff1a; -Xmx&#xff1a;指定 JVM 最大可用内存&#xff0c;例如 -Xmx2g 表示最大可用内存为 2GB。 -Xms&#xff1a;指定 JVM 初始内存大小&#xff0c;例如 -Xms512m 表示初始内存为 512MB。 -XX:MaxPermSize&#xff1a;指定…

23种设计模式总结

设计模式的本质是&#xff1a;“找到变化&#xff0c;封装变化” 设计模式的类型分为&#xff1a; 创建型&#xff1a;负责提供创建对象的机制 结构型&#xff1a;将对象或类组合成更大的结构&#xff0c;同时保持对外结构的不变&#xff0c;对内结构的灵活 行为型&#xff1a…

基于stm32单片机的智能家居环境监控系统

​一.硬件方案 智能家居环境监控系统的整体电路主要由stm32单片机最小系统&#xff0c;光MQ-2烟雾传感器电路&#xff0c;红外人体检测电路&#xff0c;DS18B20温度传感器&#xff0c;LCD1602显示电路&#xff0c;水泵驱动电路&#xff0c;风扇驱动电路&#xff0c;LED指示灯&…

MySQL数据库架构

MySQL数据库架构 MySQL架构自顶向下大致可以分为连接层 , SQL层 , 存储引擎层 , 物理文件层。架构如下 连接层 -- 查看最大连接数 show variables like %max_connections%;客户端连接器&#xff0c;MySQL向外提供交互接口连接各种不同的客户端。 客户端/应用程序&#xff1a;客…

银河麒麟服务器v10 sp1 redis开机自动启动

接上一篇&#xff1a;银河麒麟服务器v10 sp1 安装 redis_csdn_aspnet的博客-CSDN博客 将redis_init_script文件复制到/etc/init.d下&#xff0c;重命名为redisd&#xff1a; rootxxx-pc:cp /usr/local/redis/redis-7.0.11/utils/redis_init_script /etc/init.d/redisd 内容如…

MFC 单文档模式

Doc类利用自带框架存数据 void CCADDoc::Serialize(CArchive& ar) {if (ar.IsStoring()){// TODO: 在此添加存储代码//保存数据到文件ar << m_nShapeCount;for (int i 0; i < m_arrShapes.GetSize(); i){CShape* pShape NULL;pShape (CShape*)m_arrShapes[i];…

【C的葵花宝典进阶篇】之指针进阶(一)

【C语言进阶篇】之指针进阶&#xff08;一&#xff09; 1. 字符指针2. 指针数组2.1 整形指针数组2.2 用指针数组模拟二维数组 3. 数组指针3.1 数组指针的表示方法3.2 深度剖析&数组名和数组名3.3 数组指针的使用3.3.1 在同一函数内直接将数组的地址赋给数组指针3.3.2 数组指…

【Spark】RDD转换算子

目录 map mapPartitions mapPartitionsWithIndex flatMap glom groupBy shuffle filter sample distinct coalesce repartition sortBy ByKey intersection union subtract zip partitionBy reduceByKey groupByKey reduceByKey 和 groupByKey 的区别 a…

C#学习之路-常量

C# 常量 常量是固定值&#xff0c;程序执行期间不会改变。常量可以是任何基本数据类型&#xff0c;比如整数常量、浮点常量、字符常量或者字符串常量&#xff0c;还有枚举常量。 常量可以被当作常规的变量&#xff0c;只是它们的值在定义后不能被修改。 整数常量 整数常量可…

跨境平台做测评、采退、Lu卡、lu货要怎么做安全?

大家好&#xff0c;我是珑哥测评&#xff0c;今天和大家聊聊比较小众的圈子&#xff0c;也就是测评衍生出来的分支&#xff0c;采购和退款。因为最近也有很多客户咨询这个问题&#xff0c;由于沃尔玛风控升级了&#xff0c;很多客户下不成功的问题。 大家都知道无论是做测评还是…

从源码全面解析 dubbo 服务端服务调用的来龙去脉

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小黄&#xff0c;独角兽企业的Java开发工程师&#xff0c;CSDN博客专家&#xff0c;阿里云专家博主&#x1f4d5;系列专栏&#xff1a;Java设计模式、Spring源码系列、Netty源码系列、Kafka源码系列、JUC源码…

Docker自学记录笔记

安装联系Docker命令 1. 搜索镜像 docker search nagin 2. 下载镜像 3. 启动nginx 强调文本 强调文本 加粗文本 加粗文本 标记文本 删除文本 引用文本 H2O is是液体。 210 运算结果是 1024. 插入链接与图片 链接: link. 图片: 带尺寸的图片: 居中的图片: 居中并…

OpenCV的remap实现图像垂直翻转

以下是完整的代码: #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <iostream>int main() {

Redis10大性能优化点(上)

1.Redis真的变慢了吗&#xff1f; 对 Redis 进行基准性能测试 例如&#xff0c;我的机器配置比较低&#xff0c;当延迟为 2ms 时&#xff0c;我就认为 Redis 变慢了&#xff0c;但是如果你的硬件配置比较高&#xff0c;那么在你的运行环境下&#xff0c;可能延迟是 0.5ms 时就…

flutter:实现一个简单的appBar上的搜索框、一个简单的搜索历史

搜索框 效果图 代码 import package:flutter/material.dart;class NovelSearch extends StatefulWidget {overrideState<StatefulWidget> createState() > _NovelSearchState(); }class _NovelSearchState extends State<NovelSearch> {String searchVal ;o…

Debian 12 静态IP / 固定IP的设置

环境&#xff1a;Debian 12 amd64-lxde 局域网&#xff1a;PT925E电信光猫 手机APP 网络管家 一般用动态IP就可以了&#xff0c;但如果软件环境比较小众&#xff0c;问题就随之而来。起始问题&#xff1a;路由器无法解析设备名和IP&#xff0c;网络管家也不让设置固定IP&…

基于深度学习的高精度水果检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度水果&#xff08;苹果、香蕉、葡萄、橘子、菠萝和西瓜&#xff09;检测识别系统可用于日常生活中或野外来检测与定位水果目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的水果目标检测识别&#xff0c;另外支持结果可视…