猜数字游戏

从名单中随机抽取5位同学,参加猜数字

目的:练习文件操作、循环、判断、构造函数、列表和集合的操作

主要思路:

  • 随机抽取从文件中抽取5个人员参加游戏

    • 判断名单名字的行数
    • 随机生成数,并在文件中获取名单
  • 判断数字的大小
    名字单:name
张三
李四
王五
狗四
李好
张四
王麻子
胡八一
李敏
朱三
周二
曹三
曹达
小鬼子

版本一:

"""
从名单中随机抽取5位同学,参加猜数字
"""
import random
def main():# 2、随机抽取5个人员peopleNum = 5  #抽取5人people(peopleNum)# 3、随机生成数字1~100的数number = random.randint(1,100)# 4、判断正确referee(number)
#2、随机抽取5个人员
def people(peoplNum):peopleList = set()line = fileLine()while  len(peopleList) < peoplNum :   #避免了猜数字人员名字的重复问题# 生成随机数randNum = random.randint(1, line)with open("name", 'r', encoding="utf-8") as  f:   #可以不用close()文件for i in range(1, randNum + 1):    #目的:一次遍历文件的内容,找到指定的行(randNum就是行号)name = f.readline().strip('\n')  #去掉名字中的\nif randNum == i:peopleList.add(name)   #将名字添加到人员名字中peopleListprint("恭喜",peopleList,"进行猜数比赛")#2.1 、获取名单的行数
def fileLine():with open("name","r",encoding="utf-8") as f:linecount = 0for line in f:linecount +=1return linecount#4、判断正确
def referee(number):max = 100min = 1print(number)while True:inputNum = int(input("请输入%d~%d整数:\n"%(min,max)))if inputNum == number:print("恭喜你猜中了",number)breakelif inputNum >= min and inputNum < number:min = inputNumelif inputNum <= max and inputNum > number:max = inputNumif __name__ == '__main__':main()

版本二:

"""
从名单中随机抽取5位同学,参加猜数字
"""
import random
def main():# 2、随机抽取5个人员peopleNum = 5  #抽取5人people(peopleNum)# 3、随机生成数字1~100的数number = random.randint(1,100)# 4、判断正确referee(number)
#2、随机抽取5个人员
def people(peoplNum):peopleList = []  #人员的名字radNum = []     #保存随机数,为避免随机数产生相同line = fileLine()for x in range(peoplNum):# 生成随机数randNum = random.randint(1, line)radNum.append(randNum)  if radNum.count(randNum) > 1:   #统计数随机数产生的的个数continuewith open("name", 'r', encoding="utf-8") as  f:for i in range(1, randNum + 1):   name = f.readline().strip('\n')if randNum == i:peopleList.append(name)print(peopleList)
#2.1 、获取名单的行数
def fileLine():with open("name","r",encoding="utf-8") as f:linecount = 0for line in f:linecount +=1return linecount#4、判断正确
def referee(number):max = 100min = 1print(number)while True:inputNum = int(input("请输入%d~%d整数:\n"%(min,max)))if inputNum == number:print("恭喜你猜中了",number)breakelif inputNum >= min and inputNum < number:min = inputNumelif inputNum <= max and inputNum > number:max = inputNumif __name__ == '__main__':main()

版本三:

"""
从名单中随机抽取5位同学,参加猜数字
"""
import random
import linecache
def main():# 2、随机抽取5个人员peopleNum = 5  #抽取5人people(peopleNum)# 3、随机生成数字1~100的数number = random.randint(1,100)# 4、判断正确referee(number)
#2、随机抽取5个人员
def people(peoplNum):peopleList = []  #人员的名字line = fileLine()radNum = []  # 保存随机数,为避免随机数产生相同while len(peopleList) < peoplNum:index = random.randint(1,line)   radNum.append(index)if radNum.count(index) > 1:  # 统计数随机数产生的的个数,避免名单人员名字重复continuepeopleList.append(linecache.getline("name",index).strip("\n"))print(peopleList)
#2.1 、获取名单的行数
def fileLine():with open("name","r",encoding="utf-8") as f:linecount = 0for line in f:linecount +=1return linecount#4、判断正确
def referee(number):max = 100min = 1while True:inputNum = int(input("请输入%d~%d整数:\n"%(min,max)))if inputNum == number:print("恭喜你猜中了",number)breakelif inputNum >= min and inputNum < number:min = inputNumelif inputNum <= max and inputNum > number:max = inputNumif __name__ == '__main__':main()

用python写猜数字游戏相关推荐

  1. python实现猜数字游戏_python如何实现猜数字游戏

    python实现猜数字游戏的方法:使用条件语句实现判断,代码为[print('猜一个1-20之间的整数.');print('开始猜:');for i in range(1, 7):try:guess ...

  2. python编写猜数字游戏

    一.猜数字游戏介绍 猜数字(又称 Bulls and Cows )是一种古老的的密码破译类益智类小游戏,起源于20世纪中期,一般由两个人或多人玩,也可以由一个人和电脑玩. 二.猜数字游戏规则 先解释标 ...

  3. python随机猜数字游戏_Python小游戏——猜数字教程(random库教程)

    今天来开发一个简单的数字逻辑游戏,猜数字(数字炸弹) 首先开发游戏第一件事,了解需求. 猜数字游戏规则: 计算机随机生成一个指定范围的数字,由玩家来猜测, 之后计算机会根据玩家提供数字来与自己生成的数 ...

  4. python猜数字游戏代码多次_黄哥Python:猜数字游戏代码

    猜数字游戏,电脑随机生存一个[1, 100] 之间的正整数,人输入一个数字,输出大了,还是小了,猜对了,就退出游戏.由于初学者没有学异常,所以没有采用异常. """ 猜数 ...

  5. python外星人入侵游戏代码_黄哥Python:猜数字游戏代码

    """猜数字游戏 黄哥所写黄哥Python培训 2020 全新升级课程"""import randomcomputer_num = rand ...

  6. python实例 - 猜数字游戏

    猜数字游戏 在游戏中,程序每一轮会随机生成一个0-1024之间的数字,用户输入猜测的数字,程序告诉用户猜大了还是猜小了.在一定次数内猜对,则本轮用户获胜,否则本轮用户失败.每一轮开始时,程序会要求用户 ...

  7. python猜数字游戏编程、最后显示猜了几次_用Python完成猜数字游戏

    五一假期第一天突然想学点新东西,于是把Python重新捡起来.按照Crossin的编程教室中的<Python入门教程>写了一段代码,实现猜字游戏. !/usr/bin/python cod ...

  8. 小甲鱼python数字游戏给三次机会_【python 入门案例】小甲鱼python入门 猜数字游戏...

    一.猜数字--一次机会,无提示 print("--------------第一次尝试---------------") temp = input("猜一下小西几心里想的什 ...

  9. python入门——猜数字游戏

    学习资料:www.fishc.com 我的第一个程序: print('-------MissZhou的第一个游戏-------------') temp=input('猜猜她心里想的是那个数字') g ...

最新文章

  1. JavaScript 中 void(0) 的含义
  2. MongoDB:详细解释mongodb的高级操作,聚合和游标
  3. 皮一皮:还以为女神的眼睛特别好看...
  4. CTF中智能合约部署交互基础
  5. 前端学习(2628):node.js中LTS和Current的区别
  6. java学习(113):Calendar类
  7. 生成5个不同的随机数
  8. Autodesk View and Data API二次开发学习指南
  9. html获取子节点数量,css判断子元素个数
  10. 跨域问题时的Filter无效
  11. Mathpix图片转LaTeX,Word快速插入LaTeX公式教程
  12. 计算机视觉(二)——深度学习进阶
  13. 微信声音锁会上传到服务器吗,微信的声音锁是什么样的操作?
  14. 将文件按照文件名分类到文件夹
  15. LTE(4G) ATTACH流程
  16. 可以进行论文降重吗?
  17. 三问新能源车险:亲自下场卖保险,意欲何为?
  18. AssertionError: Egg-link *** does not match installed location ***
  19. 【答学员问】面试问题-毕业时候为什么没有选择开发
  20. 游戏行业面貌不断变化,打破长久以来刻板印象

热门文章

  1. python求数独全解
  2. 左耳朵耗子:我做系统架构的一些原则
  3. 数学与计算机学院校友会,忆青春成长路 话数计奋斗情——数学与计算机学院校友会...
  4. fir.im Weekly - 揭秘直播移动 APP 技术实现
  5. 新办的卡为什么显示无服务器,为什么插入卡后显示无服务,有时有有时又没有?...
  6. 20190527-陈静初-文件操作-笔记
  7. 项目二-成员函数、友元函数和一般函数之区别
  8. SAS2x28扩展卡
  9. 根据标注点坐标范围计算显示缩放级别zoom自适应显示地图
  10. 苹果签名是什么?苹果签名的作用是什么?