Python3 实现 石头、剪刀、布 猜拳小游戏

简介: Python3 实现 石头、剪刀、布 猜拳小游戏

Python基础语法

目标

实现一个人与计算机玩猜拳——石头剪刀布的小游戏,学会Python的循环控制语句和条件判断语句。

思考一:

假如把石头、剪刀、布分别用数字0、1、2表示。那么如何判定谁胜谁负呢?

user(人) computer(计算机) 判定结果
0(石头) 0(石头) 平局
0(石头) 1(剪刀) 人获胜
0(石头) 2(布) 计算机获胜
1(剪刀) 0(石头) 计算机获胜
1(剪刀) 1(剪刀) 平局
1(剪刀) 2(布) 人获胜
2(布) 0(石头) 人获胜
2(布) 1(剪刀) 计算机获胜
2(布) 2(布) 平局

那么这样的伪代码实现如下:

if(user == 0 and computer == 0):
  print("平局")
elif(user == 0 and computer == 1):
  print("人获胜")
elif(user == 0 and computer == 2):
  print("计算机获胜")
elif(user == 1 and computer == 0):
  print("计算机获胜")
elif(user == 1 and computer == 1):
  print("平局")
elif(user == 1 and computer == 2):
  print("人获胜")
elif(user == 2 and computer == 0):
  print("人获胜")
elif(user == 2 and computer == 1):
  print("计算机获胜")
elif(user == 2 and computer == 2):
  print("平局")

这样的代码不用我说、大家也觉得这个代码看起来很繁杂对吧。

找规律

虽然是一个简单的石头剪刀布小游戏,其实背后也有很大的算法思想、可以找出很多的规律。

  • 如果变量user和computer相等就是平局
  • 如果用 (user+1) 除以 3 得到的余数与computer相等就是user(人)获得胜利
  • 其余情况都是计算机获胜
import random
# 初始化表示手势的变量
gesture = ['石头' , '剪刀', '布']
wins = 0
print("*********************")
print("石头剪刀布游戏\nVer 1.0.0 by YuZhou_1su\n")
# 进行5轮游戏
for i in range(5):
    # 输入玩家的手势
    print("*********************")
    print("0:石头 1:剪刀 2:布")
    print("*********************")
    user = int(input("请输入你想出的序号:\n"))
    if(user >= 0 and user <= 2):
        computer = random.randint(0, 2)
        print("玩家: {0}, 计算机: {1}".format(gesture[user], gesture[computer]))
        if user == computer:
            print("...平局! ")
        elif computer == (user + 1) % 3:
            print("...玩家获胜! ")
            wins = wins + 1
        else:
            print("...计算机获胜! ")
    else:
        print("***你输入的序号有错、请重新输入!***")
print("玩家获胜次数: %d " % wins)

 总结

我们从此可以看到找到规律后的代码短小简洁,程序的执行速度也会随之提升。让我们慢慢的学起来,规律无处不在…

相关文章
|
11月前
|
存储 人工智能 运维
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
570 48
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
|
3月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
11月前
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
446 7
|
6月前
|
人工智能 搜索推荐 数据可视化
用 Python 制作简单小游戏教程:手把手教你开发猜数字游戏
本教程详细讲解了用Python实现经典猜数字游戏的完整流程,涵盖从基础规则到高级功能的全方位开发。内容包括游戏逻辑设计、输入验证与错误处理、猜测次数统计、难度选择、彩色输出等核心功能,并提供完整代码示例。同时,介绍了开发环境搭建及调试方法,帮助初学者快速上手。最后还提出了图形界面、网络对战、成就系统等扩展方向,鼓励读者自主创新,打造个性化游戏版本。适合Python入门者实践与进阶学习。
694 1
|
11月前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
523 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
Python
【Leetcode刷题Python】1049. 最后一块石头的重量 II
LeetCode 1049题 "最后一块石头的重量 II" 的Python解决方案,通过动态规划算法计算使最后一块石头的重量最小的方案。
114 1
|
UED Python
python编写小游戏
【7月更文挑战第6天】
374 1
|
开发者 Python
入门实战丨Python小游戏经典案例
入门实战丨Python小游戏经典案例
328 4
|
程序员 C# Python
100行python代码,轻松完成贪吃蛇小游戏_c#游戏100行代码(2)
100行python代码,轻松完成贪吃蛇小游戏_c#游戏100行代码(2)
10个python入门小游戏,零基础打通关,就能掌握编程基础_python编写的入门简单小游戏
10个python入门小游戏,零基础打通关,就能掌握编程基础_python编写的入门简单小游戏

推荐镜像

更多