当前位置:   article > 正文

Python 小程序之剪刀_石头_布_剪刀、石头、布python

剪刀、石头、布python

剪刀_石头_布小游戏



前言

剪刀石头布,这个大家都很熟悉。下面我来写一个人与电脑进行猜拳的小游戏,希望对各位有所启发。各位客官请接着往下看。


一、设计思路

  1. 我们先出拳,电脑后出拳(随机)。
  2. 两者进行比较,判断输赢平,并进行汇总。
  3. 不想玩了,按q退出程序。

二、所用函数

一个是random函数:用来模拟电脑的随机出拳;二是sys:用来触发事件来退出程序。

二、编写步骤

1.引入库

代码如下:

import random
import sys
  • 1
  • 2

2.设置基本参数

代码如下:

print('jiandao  shitou  bu')
win=0
loss=0
tie=0
  • 1
  • 2
  • 3
  • 4

初始化胜利、失败、平局都为0


3.确定基本代码框架

代码如下:

while True......#外层
	while True:
		......#内层
  • 1
  • 2
  • 3
  • 4

在这里我们要做到的效果是可以一直进行pk,而不是进行一局程序就结束了。

所以,在这里采用两个循环结构:

  1. 外层循环是while True,这个循环条件永远为真,会对内层循环做出的选择(玩家)与外层循环做出的选择(电脑)进行判断,并输出结果。并回到内层循环。
  2. 内层循环是while True,这个循环同样会一直运行,提示玩家输入,进行pk,除非不想玩了,按q退出程序。

4.内层循环代码—提示玩家输入

代码如下:

	while True:
		print('ender your choice: (j)jiandao  (s)shitou  (b)bu  or (q)qiut')
        player_choice=input()    
  • 1
  • 2
  • 3

程序运行起来,会提示我们输入j、s、b进行猜拳或者q退出程序。


5.内层循环代码—对玩家输入进行判断选择

代码如下:

	while True:
		  .......
		if player_choice=='q':
            sys.exit()    #终止代码运行,退出整个程序
        if player_choice=='j' or player_choice=='s' or player_choice=='b':
            break    #退出当前的内层循环,执行外层循环代码
        print('type one of j,s,b,or q')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

这里我们要区分sys.exit()和break的区别。


6.外层循环代码—电脑进行选择

代码如下:

while True:
	.......
	  suiji_number=random.randint(1,3)
    if suiji_number==1:
        computer_choice='j'
        print('jiandao')
    elif suiji_number==2:
        computer_choice='s'
        print('shitou')
    elif suiji_number==3:
        computer_choice='b'
        print('bu')

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

电脑根据random随机函数进行整数随机选择。


7.外层循环代码—玩家与电脑输出结果判断

代码如下:

while True:
	.......
    if player_choice==computer_choice:
        print('this is a tie')
        tie+=1
    elif player_choice=='j' and computer_choice=='b':
        print('you win')
        win+=1
    elif player_choice == 's' and computer_choice == 'j':
        print('you win')
        win += 1
    elif player_choice == 'b' and computer_choice == 's':
        print('you win')
        win += 1
    elif player_choice=='b' and computer_choice=='j':
        print('you loss')
        loss+=1
    elif player_choice == 'j' and computer_choice == 's':
        print('you loss')
        loss+=1
    elif player_choice == 's' and computer_choice == 'b':
        print('you loss')
        loss+=1

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

代码虽然有点长,很好理解,就是剪刀石头布的输赢规则,谁克谁。


8.外层循环代码—对判断结果进行汇总

代码如下:

while True:
	.......
	print('%s Win,%s Loss,%s Tie' % (win, loss, tie))

  • 1
  • 2
  • 3
  • 4

这里与《设置基本参数》相对应。
print(‘%s Win,%s Loss,%s Tie’ % (win, loss, tie)):打印一个字符串,这个字符串中包含变量win、loss和tie的值。%s是一个占位符,表示后面要插入一个字符串。而%后面的数字则表示要插入的变量的顺序。例如,%s Win将被替换为变量win的值,%s Loss将被替换为变量loss的值,以此类推。


总结

这样一个简单的小游戏算是做成了,我个人感觉这个微信里的骰子比大小、剪刀石头布的实现原理是一样的,都是使用随机函数来生成的。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/405879
推荐阅读
相关标签
  

闽ICP备14008679号