尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

用列表和字典写猜拳,这样的逻辑算合理吗?

用列表和字典写猜拳,这样的逻辑算合理吗?
📅 发布时间:2026/7/29 5:28:34

# Python新手练习:用取模运算简化猜拳逻辑

## 1. 创作原由
大家好,我是一名高中生,目前正在自学Python。最近我姐拜托我帮她写一个“剪刀石头布”的小游戏。

一开始,我打算用最基础的逐个判断(if-elif)来写,但发现情况太多,代码不仅长而且容易写错。后来我盯着这三个选项看,突然发现了一个规律:如果把剪刀、石头、布分别对应数字 0、1、2,它们刚好是一个“前面的会被后面的压制”的循环。

受此启发,我尝试用数学里的“取模运算(%3)”来代替复杂的条件判断,写下了下面这段代码。

## 2. 核心思路
在这个程序中,我将选项映射为数字:
* 剪刀 = 0
* 石头 = 1
* 布 = 2

因为 0 会被 1 压制,1 会被 2 压制,2 会被 0 压制。
所以我发现,只要满足 `(玩家数字 + 1) % 3 == 电脑数字`,就说明电脑赢了。这样只需要一个简单的公式,就代替了所有的 if-else 判断。

## 3. 完整代码

import random def comper(player,computer,module): dic = {'剪刀': 0, '石头': 1, '布': 2} lst = [['剪刀',1], ['石头',2], ['布',0]] txt = f'电脑{lst[computer][0]}你{player}' player = dic[player] if player == computer: return 2,txt if module == 1: if (player+1)%3 == computer: return 1,txt else: return 0,txt else: if lst[lst[player][1]][1] == computer: return 0,txt else: return 1,txt lst = [0]*3 dic = {0:'你赢',1:'电脑赢',2:'平局'} t = int(input('请输入猜拳次数')) for i in range(t): compers,txt = comper(player=input('请猜拳'), computer=random.randint(0,2), module=1) print(dic[compers],txt) lst[compers] = lst[compers] + 1 if lst[1] > lst[0]: print('电脑获胜') elif lst[0] == lst[1]: print('平局') else: print('你获胜') print(f'获胜统计:你{lst[0]},电脑{lst[1]},平局{lst[2]}')

相关新闻

  • 基于AgentKit构建AI Agent钱包系统:从架构设计到部署实践
  • 计算机组成原理期末综合大题攻略:从数据通路到流水线实战解析
  • 企业固定资产管理TOP榜:RFID系统助力高效精准全流程管控

最新新闻

  • STM32定时器PWM驱动步进电机:从硬件配置到梯形加减速算法实现
  • 2026年7月山东省济南市联通单宽带攻略与避坑指南 - 找卡家园
  • NBM5100A与TM4C1294NCZAD在低功耗物联网设计中的协同优化
  • 信捷PLC程序上传下载实战:从硬件连接到伺服控制全解析
  • MicroPython模块深度解析:从版本管理到SSD1306 OLED驱动实战
  • Android Wi-Fi信号强度显示全链路解析:从驱动到UI的完整流程

日新闻

  • 金融舆情监测系统:多语言情感分析与实时可视化技术解析
  • QT C++调用Python异常处理:PyBind11实战与跨语言编程指南
  • A-47双麦回音消除模块:主次麦空间分布与差分连接对ENC性能的影响

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号