一、项目要求:

电脑随机出拳和用户猜拳三次。胜利条件如下:

(1)(石头 胜 剪刀)

(2)(剪刀 胜 布)

(3)(布 胜 石头)

二、代码

 #!/usr/bin/env python
# -*- coding: UTF-8 -*- # 项目一:
# 1、要求:电脑随机出拳和用户猜拳三次。胜利条件如下:
# (1)(石头 胜 剪刀)
# (2)(剪刀 胜 布)
# (3)(布 胜 石头) # 2、分析:
# 用户胜利的条件:
# (1)以上三点只需要满足其中一任意一条即判定用户胜利,
# 所以以上三点是“或”的关系
# (2)在每一个条件中,用户如果要赢电脑就必须满足每一个胜利条件中的条件,
# 所以每一个胜利的条件是“且”的关系 # 3、代码
import random count = 0
while True: if count == 3:
print("猜拳结束")
break
# 1、用户出拳
user_mora = input("提示——【1】石头,【2】剪刀,【3】布。请出拳:")
# 判断用户输入的是否为数字
if user_mora.isdecimal():
user_mora = int(user_mora)
else:
print("非法输入")
continue # 2、电脑出拳
computer_mora = random.randint(1,3)
print("电脑出的拳是:%d" % computer_mora) # 3、判断
# 条件
condition = (user_mora == 1 and computer_mora == 2)\
or(user_mora == 2 and computer_mora == 3)\
or(user_mora == 3 and computer_mora == 1)
# 3.1 用户正确的条件
if condition:
print("玩家胜!")
# 3.2 平局的条件
elif user_mora == computer_mora:
print("平局!")
# 3.3 电脑胜利的条件,只要是除去以上两种情况,剩下的都判定电脑胜利
else:
print("电脑胜!") # 提示次数
print("你还有%s次机会" % (2 - count)) count += 1

二、图示

python编写猜拳代码的更多相关文章

  1. Hadoop:使用原生python编写MapReduce

    功能实现 功能:统计文本文件中所有单词出现的频率功能. 下面是要统计的文本文件 [/root/hadooptest/input.txt] foo foo quux labs foo bar quux ...

  2. 使用sublime编写python、php代码前的一些配置

    1.使用sublime编写python代码 打开sublime软件,Tools —> Build System —> New Build System,得到后缀名为“sublime-bui ...

  3. 25 【python入门指南】如何编写测试代码

    python如何编写测试代码 python内置了unittest,使得写应用层的单元测试变得超乎寻常的简单. 1,执行单个测试函数 #!/bin/python import unittest clas ...

  4. 利用Python编写Windows恶意代码!自娱自乐!勿用于非法用途!

    本文主要展示的是通过使用python和PyInstaller来构建恶意软件的一些poc. 利用Python编写Windows恶意代码!自娱自乐!勿用于非法用途!众所周知的,恶意软件如果影响到了他人的生 ...

  5. python的单元测试代码编写流程

    单元测试: 单元测试是对单独的代码块分别进行测试, 以确保它们的正确性, 单元测试主要还是由开发人员来做, 其余的集成测试和系统测试由专业的测试人员来做. python的单元测试代码编写主要记住以下几 ...

  6. Effective Python 编写高质量Python代码的59个有效方法

    Effective Python 编写高质量Python代码的59个有效方法

  7. 编写优美代码的七条规范(Python版)

    编程是一种与计算机系统通信的语言.交流就是与某人分享思想.二进制语言是计算机的最核心的语言.但是在前端,我们有很多种语言.这些语言使用解释器将前端代码转换为二进制代码.基本上,系统对一行代码执行大量内 ...

  8. 基于python编写的天气抓取程序

    以前一直使用中国天气网的天气预报组件都挺好,可是自从他们升级组件后数据加载变得非常不稳定,因为JS的阻塞常常导致网站打开速度很慢.为了解决这个问题决定现学现用python编写一个抓取程序,每天定时抓取 ...

  9. 用Python编写博客导出工具

    用Python编写博客导出工具 罗朝辉 (http://kesalin.github.io/) CC 许可,转载请注明出处   写在前面的话 我在 github 上用 octopress 搭建了个人博 ...

随机推荐

  1. [luoguP1866]滑动窗口(单调队列)

    传送门 可以搞2个单调队列. 然后,然后就没有然后了. # include <iostream> # include <cstdio> # include <cstrin ...

  2. 洛谷P2870 - [USACO07DEC]最佳牛线Best Cow Line

    Portal Description 给出一个字符串\(s(|s|\leq3\times10^4)\),每次从\(s\)的开头或结尾取出一个字符接在新字符串\(s'\)的末尾.求字典序最小的\(s'\ ...

  3. 【二分+尺取】HDU 6119 小小粉丝度度熊

    http://acm.hdu.edu.cn/showproblem.php?pid=6119 [思路] 首先通过处理交叉的可以处理成不交叉的 然后二分查找答案 如何判断一个长度是否可行? 双指针O(n ...

  4. php 以单下划线或双下划线开头的命名

    有2个下划线的是魔术方法,如:__construct.__destruct等等.有1个下划线的一般是私有方法,如 _initialize. 小测试: public function _test(){ ...

  5. Hashtable和HashMap 的区别

    Hashtable和HashMap 第一点不同 主要是历史原因.Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现. 第二点不同 (也许 ...

  6. UINavigationController 小记

    1.以栈的形式管理视图控制器,push 和 pop 方法来弹入和弹出控制器,最多只能显示一个视图控制器. 2.使用pop方法可以移除栈顶控制器,当一个控制器被pop后,控制器内存会被释放了. 3.一层 ...

  7. [Bzoj4722]由乃(线段树好题)(倍增处理模数小快速幂)

    4722: 由乃 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 360  Solved: 131[Submit][Status][Discuss] D ...

  8. UESTC 1087 【二分查找】

    问了某明==shit 中文题意不解释. 因为数据的范围是1e9以内的所以我们可以通过二分的方法枚举可能的中位数. 用二分法每次判断某一数字比中位数大还是比中位数小. 判断方法是,枚举以第n个数为起点的 ...

  9. 转: ORACLE存储过程笔记2----运算符和表达式

    运算符和表达式     关系运算 =等于<>,!=不等于<小于>大于<=小于等于>=大于等于       一般运算   +加-减*乘/除:=赋值号=>关系号. ...

  10. 【OPPO主题制作系列 - 01】-- 写个小工具自动打包Theme文件

    参考OPPO主题设计师站: http://dev.theme.oppomobile.com/user/user_start 想要打包成Theme文件,必须把需要打包的文件夹拖到oppo-themepa ...