脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python实现猜拳与猜数字游戏的方法详解

Python实现猜拳与猜数字游戏的方法详解

2022-11-23 09:42渴望力量的哈士奇 Python

本文将为大家介绍两个用Python语言实现的小案例:猜拳游戏与数字猜猜猜小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下

至此,我们的 Python零基础入门篇 的系列专栏到今天基本上算是结束了。今天没有任何的知识点,只是运用我们之前学习过的知识做两个小游戏的案例。第一个是模拟猜拳的小游戏,第二个就是猜数字的游戏。

猜拳小游戏

需求:

运用至今所学的 Python 知识编写脚本,实现一个人与计算机玩猜拳的石头剪刀布的小游戏。

这里我们先思考一下,如果将石头、剪刀、布分别用数字0、1、2表示,那么如何判定谁胜谁负呢?

user robot 结果
0(石头) 0(石头) 平局
0(石头) 1(剪刀) user 获胜
0(石头) 2(布) robot 获胜
1(剪刀) 0(石头) robot 获胜
1(剪刀) 1(剪刀) 平局
1(剪刀) 2(布) user 获胜
2(布) 0(石头) user 获胜
2(布) 1(剪刀) robot 获胜
2(布) 2(布) 平局

不难发现游戏的规律如下:

  • 如果user和computer相等就是平局
  • 如果用 (user+1) 除以 3 得到的余数与 robot 相等,就是user(人)获得胜利
  • 其余情况都是 robot 获胜

案例脚本如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# coding:utf-8
 
 
import random
 
 
# TODO:只针对输入的参数做了 int 的排除,未针对输入的 非 int 类型做校验,可通过 isNum 函数做校验,或者进行 异常捕获。
 
data = {0: '石头', 1: '剪刀', 2: '布'}
 
while(True):
    robot = random.randint(0, 2)
    print('********猜拳小游戏即将开始,请准备!********')
    user = int(input('请输入[0:石头;1:剪刀;2:布;9:退出游戏]:'))
 
    if user not in (9, 0, 1, 2):
        print('--------输入参数不合法,请重新输入!--------')
        print('   ')
        continue
 
    elif user == 9:
        print('**********游戏结束,下次再来玩哦**********')
        break
    elif not 0 <= user <= 2:
        continue
 
 
    if user == robot:
        print('\'你\'出的是{}, \'ROBOT\' 出的是{}, 结果为:\'平局\''.format(data[user], data[robot]))
        print('    ')
    elif (user + 1) % 3 == robot:
        print('\'你\'出的是{}, \'ROBOT\' 出的是{}; 结果为:\'你赢了!\''.format(data[user], data[robot]))
        print('    ')
    else:
        print('\'你\'出的是{}, \'ROBOT\' 出的是{}; 结果为:\'ROBOT赢了!\''.format(data[user], data[robot]))
        print('    ')

PS:这里的传入参数校验并不完善,大家可以尝试自己动手完善一下。

Python实现猜拳与猜数字游戏的方法详解

数字猜猜猜小游戏

需求:

根据现实生活中的猜数字游戏的游戏规则,运用Python语言模拟实现猜数字游戏的的基本功能.

1、设定可猜测的次数,并根据提示进行数字区间的输入猜测的数字

2、将输入的数字与随机生成的数字进行比对,同时次数减一。若次数用完后,仍未猜对,则游戏结束。

案例脚本如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# coding:utf-8
 
 
import random
 
 
# TODO:这并不是我想要的效果,但是目前也只能写成这样了,有时间再晚上吧。
 
robot = random.randint(1, 10)
count = 5
print("*************游戏开始***************")
print("猜数字游戏,数字在1到10之间,你有{0}次机会".format(count))
print('   ')
 
while count > 0:
    num = input("请输入您要猜测的数字:")
    if num.isdigit():
        num = int(num)
        if num == robot:
            print("对了")
            print('   ')
            break
        elif num < robot:
            # print("您输入的参数小了", '剩余机会次数:%s' % int(count-1))
            print("您输入的参数小了", '剩余机会次数:{0}'.format(count-1))
            print('   ')
        else:
            print("您输入的参数大了", '剩余机会次数:{0}'.format(count-1))
            print('   ')
        count -= 1
        if count == 0:
            print("您的机会已经用完")
            print('   ')
            break
        # print("你还剩余{0}次机会".format(count))
        # print('   ')
    else:
        print("你输入的不是一个数字,请重新输入")
        print('   ')
print("**********游戏结束************")

Python实现猜拳与猜数字游戏的方法详解

以上就是Python实现猜拳与猜数字游戏的方法详解的详细内容,更多关于Python 猜拳猜数字的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/weixin_42250835/article/details/123962758

延伸 · 阅读

精彩推荐
  • Pythonpython语言是免费还是收费的?

    python语言是免费还是收费的?

    在本篇文章里小编给大家分享的是关于python语言是否免费的相关知识点,需要的朋友们可以学习下。...

    silencement9662020-06-15
  • Pythonpython中count函数简单用法

    python中count函数简单用法

    在本篇文章里小编给大家整理的是一篇关于python中count函数简单用法以及相关实例,需要的朋友们学习下。 ...

    藏色散人20942020-05-09
  • Python从创建进程到进入Main函数,发生了什么?

    从创建进程到进入Main函数,发生了什么?

    这篇文章主要讨论的是操作系统层面上对于进程、线程的创建初始化等行为,而像Python、Java等基于解释器、虚拟机的语言,如何进入到main函数执行,这背...

    编程技术宇宙2532020-10-29
  • Pythonpython 如何通过KNN来填充缺失值

    python 如何通过KNN来填充缺失值

    这篇文章主要介绍了python 通过KNN来填充缺失值的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    六mo神剑12432021-11-09
  • PythonDjango的session中对于用户验证的支持

    Django的session中对于用户验证的支持

    这篇文章主要介绍了Django的session中对于用户验证的支持,Django是百花齐放的Python框架中人气最高的一个,需要的朋友可以参考下...

    Python教程网4022020-07-26
  • Pythonpython (logging) 日志按日期、大小回滚的操作

    python (logging) 日志按日期、大小回滚的操作

    这篇文章主要介绍了python (logging) 日志按日期、大小回滚的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    Neil_0018602021-09-22
  • PythonPython去除字符串两端空格的方法

    Python去除字符串两端空格的方法

    这篇文章主要介绍了Python去除字符串两端空格的方法,本文主要讲解了string.lstrip、string.rstrip、string.strip等函数的运用,需要的朋友可以参考下 ...

    Python教程网20342020-07-04
  • PythonPython制作词云的方法

    Python制作词云的方法

    这篇文章主要为大家详细介绍了Python制作词云的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    抑郁工头13772020-12-31