人生苦短,我用Python

关键词

1.多用户
2.字典记录所有成绩
3.每次游戏轮数&总游戏次数&平均每次游戏需要多少轮
字典Dictionary、列表List、元组Tuple差异化理解

from random import randintname = input('请输入你的名字:')#输入玩家名字
#读取文件中的数据
f = open('game.txt')
lines = f.readlines()
f.close()scores = { }#Initialize an empty directory
for l in lines:s = l.split() # split (拆分)each line data to listscores[s[0]] = s[1:] #把第一项作为key,剩下的作为value
score = scores.get(name) # 查找当前玩家的数据
if score is  None:#如果没找到该玩家score = [0,0,0] #初始化数据,new# 分别存入变量中
game_times = int(score[0])
min_times = int(score[1])
total_times = int(score[2])#计算游戏平均轮数,注意浮点数和避免除零错误
if game_times >0 :avg_times = float(total_times) / game_times
else:avg_times = 0#输出成绩信息,平均轮数保留2位小数
print ('%s,你已经玩了%d次,最少%d轮猜出答案,平均%.2f轮猜出答案'%(name,game_times,min_times,avg_times))num = randint(1,100)
times = 0 #记录本轮游戏次数print ('Guess what I think?')
bingo = False
while bingo == False:times += 1 answer = int(input())if answer < num:print ('too small')if answer > num:print ('too big')if answer==num:print ('Bingo!')bingo = True
#如果是第一次玩,或者本轮游戏次数比最小次数少,则更新最小次数
if game_times == 0 or times < min_times:min_times = timestotal_times += times #总游戏轮数
game_times +=1 #游戏次数增加#把成绩更新到对应的玩家数据中
#加str转换为字符串,为后面的数据化做准备
scores[name] = [str(game_times), str(min_times), str(total_times)]result = ' '
for n in scores:line = n + ' ' + ' '.join(scores[n])+'\n' # 输出key 和valueresult += linef = open('game.txt','w')  # 相对路径,同一文件夹下
f.write(result)
f.close()


转载于:https://www.cnblogs.com/Neo007/p/7365439.html

【Python】猜数小游戏(文件操作)相关推荐

  1. python猜数字小游戏制作

    教大家做一个简易的猜数字的游戏,但确实蛮简单的,我这个四年级的小盆友也才学了一天,所以给那些不会的教一下. 我们先来看导入模块: """ 简易python猜数小游戏&qu ...

  2. python逻辑运算的一些流程图_Python猜数小游戏

    使用random变量随机生成一个1到100之间的数 采集用户所输入的数字,如果输入的不符合要求会让用户重新输入. 输入符合要求,游戏开始.如果数字大于随机数,输出数字太大:如果小于随机数,输出数字太小 ...

  3. python制作的简单的猜数小游戏

    今天花了一点时间用python写了个猜数小游戏,10分钟就能搞定! 废话不多说,直接上代码 由于代码太过于简单,所以没有什么注释. import randomprint("欢迎来到猜数小游戏 ...

  4. Java Web应用小案例:猜数小游戏

    Java Web应用小案例:猜数小游戏 文章目录 一.演示Python版猜数游戏 二.JSP版猜数游戏程序运行效果

  5. Python|猜数字小游戏

    Python Python猜数字小游戏 说明 分析 代码实现 补充说明 Python猜数字小游戏 说明 通常由两个人参与,一个人设置一个数字,一个人猜数字,当猜数字的人说出一个数字,由出数字的人告知是 ...

  6. R语言入门——猜数小游戏

    R语言入门--猜数小游戏 题目介绍 使用代码(2种方法) 运行结果 题目介绍 设计一个猜数字的游戏:计算机随机生成一个1~100 之间的整数,然后由用户猜测所产生的随机数.根据用户猜测的情况给出不同提 ...

  7. Java-好玩的猜数小游戏

    package net.lyt.month1;import java.util.Scanner;public class Java23 {public static void main(String[ ...

  8. 【Java——猜数小游戏】

    文章目录 (一)编程实现 (二)讲解知识点 1.前测试条件循环 - while循环 (1)语法格式 (2)执行情况 2.后测试条件循环 - do-while循环 (1)语法格式 (2)执行情况 3.随 ...

  9. 编写程序,实现猜数小游戏。

    编写程序,实现猜数小游戏.随机生成一个0~99(包括0和99)的数字,从控制台输入猜测的数字,输出提示太大还是太小,继续猜测,直到猜到为止,游戏过程中,记录猜对所需的次数,游戏结束后公布结果.程序运行 ...

  10. python猜字小游戏

    #用python做的一个猜字小游戏 import random #生成一个随机数 x = int(random.randint(0,50)) print("你好,欢迎来到猜字游戏!!!!!& ...

最新文章

  1. 推荐系统笔记(内容推荐)
  2. [Linux实用工具]munin-node插件配置和插件编写
  3. 3.Lucene3.x API分析,Director 索引操作目录,Document,分词器
  4. 深度学习(Deep Learning):循环神经网络一(RNN)
  5. 线性表的顺序存储 c语言表达,线性表的基本操作顺序存储(C语言).doc
  6. GC算法-标记清除算法
  7. linux 看日期,Linux查看日期和时间
  8. Picture exceed the maximum allowable rotation range
  9. Java调用C/C++的过程
  10. golang 查询mysql_Golang查询MySQL数据库
  11. dex文件全解析C语言,中篇
  12. Excel常用电子表格公式大全【汇总篇】
  13. win10 internet 信息服务器,Win10无internet访问权限怎么解决?Win10无网络解决方法
  14. 在组策略中 计算机策略仅对,在组策略中,计算机策略仅对()生效。 - 问答库...
  15. kubernetes高可用集群web页面部署
  16. [路由][教程]OpenWrt通过LAN连接上级路由做交换机+无线功能教程
  17. Google开放星空观测应用SkyMap源代码
  18. 小米WatchS2和小米WatchS1 区别 哪个值得入手
  19. python两个数组合并排序_合并Python中的排序数组
  20. 网课答案题库系统 内含接口使用

热门文章

  1. ux设计中的各种地图_如何在UX设计中使用颜色
  2. facebook有哪些信息_关于Facebook表情表情符号的所有信息
  3. 粉红噪音_粉红的常绿力量
  4. 寒假作业3:抓老鼠啊
  5. 跟我一起学WCF(2)——利用.NET Remoting技术开发分布式应用
  6. shell学习笔记--自我总结
  7. Hadoop-Flume-类比吸尘器图解
  8. 你真的会玩SQL吗?Case也疯狂
  9. java.util.ConcurrentModificationException异常
  10. java 接口编程_JAVA面向接口编程