一、项目要求:

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

(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. [HNOI2012] 永无乡 题解

    题意: n个点,有加边操作,询问与某一点处于相同的联通块的点中权值第k大的点 思路: 对所有点建立一棵权值线段树,加边就配合并查集进行线段树合并 反思: 动态开点,权值线段树要用sum[g[x=fin ...

  2. NOIP2009T3最优贸易(Dfs + spfa)

    洛谷传送门 看到这个题,原本想先从后往前dfs,求出能到终点的点,再在这些点里从前往后spfa,用一条边上的两个城市的商品价格的差来作边权,实施过后,发现图中既有负边权,又有回路,以及各种奇奇怪怪的东 ...

  3. hdu 2686最小费用最大流问题

    #include<stdio.h> #include<queue> #include<string.h> using namespace std; #define ...

  4. controller跳到另一个controller

    1.无参数: return "redirect:park/findByTag"; 2/有参数: public String addChild(Model model2) model ...

  5. js的offsetWidth,clientWidth

    js元素的offsetWidth与clientWidth很相似,因此放在一起记录. clientWidth与offsetWidth clientWidth=元素内容区域宽度+水平内边距padding. ...

  6. EXTJS中整合tinymce的富文本编辑器,添加上传图片功能

    提供部分代码.Ext.create('Ext.window.Window', { id: 'wind', title: 'CRUD窗口', modal: true, height: 800, widt ...

  7. Java实现拖拽上传

    原文:http://www.open-open.com/code/view/1437358795584 在项目开发中由于实际需求,需要开发拖拽上传的功能,ok! 先看效果图: jsp上传前端代码: & ...

  8. MySQL入门笔记 - 数据类型

    参考书籍<MySQL入门很简单> 数据类型是数据的一种属性,可以决定数据的存储方式.有效范围和相应的限制. 1.整数类型   1.1 MySQL的整数类型 MySQL中int类型和inte ...

  9. [TypeScript] Transform Existing Types Using Mapped Types in TypeScript

    Mapped types are a powerful and unique feature of TypeScript's type system. They allow you to create ...

  10. 解决SVN Cleanup时遇到错误信息:Cleanup failed to process the following paths:xxxxxxx Previous operation has not finished: run 'cleanup' if it was interrupted Please execute the 'Cleanup' command.

    解决SVN Cleanup时遇到错误信息:Cleanup failed to process the following paths:xxxxxxx Previous operation has no ...