python实现石头剪刀布程序

yipeiwu_com5年前Python基础

本文实例为大家分享了python实现石头剪刀布的具体代码,供大家参考,具体内容如下

概述:

如果你和我一样是一个有着其他语言基础的编程者,那我想这个小程序对于你来说是小case。由于本人初学Python,就先拿这个熟悉熟悉一下语法,就不再是以前大家都爱用的Hello World了。

流程图:

代码如下:

import random
 
# define a function for get winner
# 1: Scissor
# 2: Stone
# 3: Cloth
def get_winner(you, me):
 if you == me:
  return 0
 
 if you == 1:
  if me == 2:
   return -1
  else:
   return 1
 
 if you == 2:
  if me == 1:
   return 1
  else:
   return -1
 
 if you == 3:
  if me == 2:
   return 1
  else:
   return -1
 
# define a function for get Label for finger
def get_lable(finger):
 if finger == 1:
  return "Scissor"
 elif finger == 2:
  return "Stone"
 else:
  return "Cloth"
 
you = raw_input("Your Finger is:")
while int(you) > 0:
 you = int(you) % 3
 
 if you == 0:
  you = 3
 
 me = random.randint(1, 3)
 print "your finger is %s and my finger is %s" % (get_lable(you), get_lable(me))
 
 result = get_winner(you, me)
 
 if result == -1:
  print "I Win."
 elif result == 1:
  print "You Win."
 else:
  print "No winner."
 
 you = raw_input("Your Finger is:")
 
print "END"

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python基于右递归解决八皇后问题的方法

本文实例讲述了python基于右递归解决八皇后问题的方法。分享给大家供大家参考。具体分析如下: 凡是线性回溯都可以归结为右递归的形式,也即是二叉树,因此对于只要求一个解的问题,采用右递归...

Django如何简单快速实现PUT、DELETE方法

使用django的小伙伴们应该都知道我们是无法开心的处理PUT跟DELETE的 $.ajax({ url: 'XXX', type: 'PUT', dataType: '...

Python 可变类型和不可变类型及引用过程解析

在Python中定义一个数据便在内存中开辟一片空间来存储这个变量的值,这块已经被分配的内存空间便会有一个内存地址。访问这块内存需要用到变量名,变量名实际存储的是变量的地址在内存中的地址,...

Django中celery执行任务结果的保存方法

如下所示: pip3 install django-celery-results INSTALLED_APPS = ( ..., 'django_celery_results',) #...

Python面向对象程序设计之继承与多继承用法分析

本文实例讲述了Python面向对象程序设计之继承与多继承。分享给大家供大家参考,具体如下: 1. 继承 在C++和Java中,使用继承时,子类的构造函数会自动调用父类的构造函数,但在Py...