python项目之猜数字游戏

这篇具有很好参考价值的文章主要介绍了python项目之猜数字游戏。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

猜数字游戏

祝大家儿童节快乐!

今天完成一个简单的猜数字游戏

规则部分:

1、利用0~9之间的数字考虑一个4位数字。同一数字可以多次使用。

2、孩子猜想出一个4位数字告诉家长。

3、家长根据孩子给出的数字计算出Hit分数和Blow分数,并计算结果告诉孩子。

  • 数字和位置都正确为Hit
  • 位置不正确,但是包含了那个数字为Blow

4、重复2、3操作,孩子根据每次的Hit和Blow分数,再猜想下一个4位数字,如果猜中,游戏结束。如果孩子猜想出的数字能计算出‘Hit=4’的结果,就是猜中了;2、3操作的重复次数越少越优秀。


一、生成随机数模块

生成随机数需要用到random模块,用‘import random’语句进行导入,利用‘random.函数名’使用各种各样的相关功能。

首先准备四个变量,然后将多次生成的随机数分别赋值给它们,并把数字连起来现实。

import random
a1 = random.randint(0, 9)
a2 = random.randint(0, 9)
a3 = random.randint(0, 9)
a4 = random.randint(0, 9)
print(str(a1) + str(a2) + str(a3) + str(a4))

注意:这里不能直接生成一个四位数,因为这个游戏是猜测的四位数中的每一位数字。

用变量的方式存储这四个数字,后续处理会有些麻烦,更好的办法是用列表进行集中保存,优化上述的代码段:

import random
a = [random.randint(0, 9),
random.randint(0, 9),
random.randint(0, 9),
random.randint(0, 9)]
print(str(a[0]) + str(a[1]) + str(a[2]) + str(a[3]))
二、正确输入4位数字

排除输入不正确的情况

1、检查是否为4位:

使用一个标识isok,赋初值位False进入while循环,如果不是4位数则执行print语句,继续while循环,如果是四位数,则标识符变成True不再循环。

isok = False
while isok == False:
    b = input('请输入数字:')
    if len(b) != 4:
        print('请输入4位数字')
    else:
        ok = True

2、检查每位是否为数字

num是个标识。

num = True
     for i in range(4):
         if(b[i] < '0') or (b[i] > '9') :
             print('不是数字')
             num = False
             break
      if num :
          isok = True

两段结合为:

isok = False
while isok == False:
    b = input('请输入数字:')
    if len(b) != 4:
        print('请输入4位数字')
    else:
        num = True
        for i in range(4):
            if(b[i] < '0') or (b[i] > '9') :
                print('不是数字')
                num = False
                break
        if num :
            isok = True
print(b[0])
print(b[1])
print(b[2])
print(b[3])
三、判断Hit和Blow

判断Hit,hit表示位置和数字都是一样的状态。

hit = 0
for i in range(4):
    if a[i] == int(b[i]):
        hit = hit + 1
    

判断Blow,blow表示数字一致,但存放位置不同的状态。

blow = 0
for j in range(4):
    if(int(b[j]) == a[i]) and (a[i] != int(b[i])) and (a[j] != int(b[j])):
        blow = blow + 1
        break
print('Hit' + str(hit))
print('Blow' + str(blow))

Hit分数为4时,猜中则结束程序

 if hit == 4:
        print('猜中了!')
        break

完整代码段:

import random
a = [random.randint(0, 9),
random.randint(0, 9),
random.randint(0, 9),
random.randint(0, 9)]
#print(str(a[0]) + str(a[1]) + str(a[2]) + str(a[3]))

isok = False
while isok == False:
    b = input('请输入数字:')
    if len(b) != 4:
        print('请输入4位数字')
    else:
        num = True
        for i in range(4):
            if(b[i] < '0') or (b[i] > '9') :
                print('不是数字')
                num = False
                break
        if num :
            isok = True

hit = 0
for i in range(4):
    if a[i] == int(b[i]):
        hit = hit + 1
    if hit == 4:
        print('猜中了!')
        break

blow = 0
for j in range(4):
    if(int(b[j]) == a[i]) and (a[i] != int(b[i])) and (a[j] != int(b[j])):
        blow = blow + 1
        break
print('Hit' + str(hit))
print('Blow' + str(blow))

下一期出界面版猜数字游戏,敬请期待~文章来源地址https://www.toymoban.com/news/detail-467129.html

到了这里,关于python项目之猜数字游戏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python编写简易猜数字小游戏

    下面是Python编写的简易猜数字小游戏: 运行该程序,即可开始游戏。程序会生成一个1~100之间的随机数字,然后逐渐提示你输入你的猜测。如果你猜错了,程序会提示你猜小了或猜大了,直到你猜中为止。游戏结束后,程序会告诉你你猜了多少次才猜中了。

    2024年03月28日
    浏览(49)
  • Python代码实现一个简单的猜数字游戏

            以下是一个简单的猜数字游戏的Python代码: import random print(\\\"欢迎来到猜数字游戏!\\\") print(\\\"我已经想好了一个1到100之间的数字。\\\") number = random.randint(1, 100) guess = 0 tries = 0 while guess != number:     guess = int(input(\\\"你猜这个数字是多少?\\\"))     tries += 1     if guess numb

    2024年02月09日
    浏览(63)
  • Python编写简易猜数字小游戏(附完整代码)

    Python编写简易猜数字小游戏(附完整代码) 猜数字游戏是一款非常经典的小游戏,本文将介绍如何使用Python编写一个简易的猜数字游戏,并提供完整的源代码。 首先,让我们了解一下游戏规则。游戏开始时,程序会随机生成一个1到100之间的数字,玩家需要通过输入数字来猜

    2024年02月08日
    浏览(75)
  • 华为OD机试 - 数字游戏(Java & JS & Python)

    题目描述 小明玩一个游戏。 系统发1+n张牌,每张牌上有一个整数。 第一张给小明,后n张按照发牌顺序排成连续的一行。 需要小明判断,后n张牌中,是否存在连续的若干张牌,其和可以整除小明手中牌上的数字。 输入描述 输入数据有多组,每组输入数据有两行,输入到文

    2024年02月12日
    浏览(52)
  • 【华为OD机试真题】数字加减游戏(java&python)

    【华为OD机试真题 20222023】真题目录 @点这里@ 【华为OD机试真题】信号发射和接收 试读 @点这里@ 【华为OD机试真题】租车骑绿道 试读 @点这里@ 知识点广搜时间限制:1s空间限制:256MB限定语言:不限 小明在玩一个数字加减游戏,只使用加法或者减法,将一个数字s变成数字t。

    2023年04月17日
    浏览(59)
  • python 基础系列篇:四、编写两个简单的小游戏(猜数字及2048)

    游戏规则: 产生一个随机的4位数,可能会有前置0,用户每输入一次4位数,记录次数加1,并返回猜测结果,位置正确数字正确的为一种,输出一个A,数字正确位置不正确的为另一种,输出一个B,限定12次(含)以内猜出数字为胜利,否则视为挑战失败。 挑战示例1: 请输入

    2023年04月08日
    浏览(46)
  • python游戏项目代码,python写的小游戏

    大家好,本文将围绕python游戏项目代码展开说明,python写的小游戏是一个很多人都想弄明白的事情,想搞清楚python小游戏制作需要先了解以下几个事情。 收藏关注不迷路 文章目录 前言 一、功能介绍 二、开发环境 三、程序流程设计 1.程序流程图 2.界面设计 3.功能设计 四、系

    2024年02月22日
    浏览(41)
  • UE4/5关于数字人MetaHuman打包项目后,打开游戏发生的关于Assertion failed: CastResult或者fatal error报错

    目录 笔者的打包经历 该方法不一定成功,但总得试试。 解决方法: 本来笔者因为各种各样的盗版原因,打算将本文放置在VIP的,但考虑到广大人士可能和笔者一样发生这种问题而无法解决,便决定还是开把伞。 Assertion failed: CastResult或者fatal error的报错是在打包成功后,再

    2024年02月15日
    浏览(113)
  • 【python小项目】python模拟掷骰子游戏

    骰子是具有代表性的中国传统民间娱乐工具,最常见的骰子是正方体六面骰,六面的点数分别从1~6,且相对面点数之和为7。现有A,B两人通过掷骰子比较谁的点数更大,请通过python程序模拟以下过程: (1) 一盘游戏中,AB两人轮流掷骰子5次,并将每次掷出的点数累加,5盘之后,

    2024年02月05日
    浏览(39)
  • 【华为OD机考 统一考试机试C卷】数字游戏(C++ Java JavaScript Python C语言)

    目前在考C卷,经过两个月的收集整理, C卷真题已基本整理完毕 抽到原题的概率为2/3到3/3, 也就是最少抽到两道原题。 请注意:大家刷完C卷真题,最好要把B卷的真题刷一下,因为C卷的部分真题来自B卷。 另外订阅专栏还可以联系笔者开通在线OJ进行刷题,提高刷题效率。

    2024年02月02日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包