【Python】猜数小游戏(文件操作)
人生苦短,我用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】猜数小游戏(文件操作)相关推荐
- python猜数字小游戏制作
教大家做一个简易的猜数字的游戏,但确实蛮简单的,我这个四年级的小盆友也才学了一天,所以给那些不会的教一下. 我们先来看导入模块: """ 简易python猜数小游戏&qu ...
- python逻辑运算的一些流程图_Python猜数小游戏
使用random变量随机生成一个1到100之间的数 采集用户所输入的数字,如果输入的不符合要求会让用户重新输入. 输入符合要求,游戏开始.如果数字大于随机数,输出数字太大:如果小于随机数,输出数字太小 ...
- python制作的简单的猜数小游戏
今天花了一点时间用python写了个猜数小游戏,10分钟就能搞定! 废话不多说,直接上代码 由于代码太过于简单,所以没有什么注释. import randomprint("欢迎来到猜数小游戏 ...
- Java Web应用小案例:猜数小游戏
Java Web应用小案例:猜数小游戏 文章目录 一.演示Python版猜数游戏 二.JSP版猜数游戏程序运行效果
- Python|猜数字小游戏
Python Python猜数字小游戏 说明 分析 代码实现 补充说明 Python猜数字小游戏 说明 通常由两个人参与,一个人设置一个数字,一个人猜数字,当猜数字的人说出一个数字,由出数字的人告知是 ...
- R语言入门——猜数小游戏
R语言入门--猜数小游戏 题目介绍 使用代码(2种方法) 运行结果 题目介绍 设计一个猜数字的游戏:计算机随机生成一个1~100 之间的整数,然后由用户猜测所产生的随机数.根据用户猜测的情况给出不同提 ...
- Java-好玩的猜数小游戏
package net.lyt.month1;import java.util.Scanner;public class Java23 {public static void main(String[ ...
- 【Java——猜数小游戏】
文章目录 (一)编程实现 (二)讲解知识点 1.前测试条件循环 - while循环 (1)语法格式 (2)执行情况 2.后测试条件循环 - do-while循环 (1)语法格式 (2)执行情况 3.随 ...
- 编写程序,实现猜数小游戏。
编写程序,实现猜数小游戏.随机生成一个0~99(包括0和99)的数字,从控制台输入猜测的数字,输出提示太大还是太小,继续猜测,直到猜到为止,游戏过程中,记录猜对所需的次数,游戏结束后公布结果.程序运行 ...
- python猜字小游戏
#用python做的一个猜字小游戏 import random #生成一个随机数 x = int(random.randint(0,50)) print("你好,欢迎来到猜字游戏!!!!!& ...
最新文章
- 推荐系统笔记(内容推荐)
- [Linux实用工具]munin-node插件配置和插件编写
- 3.Lucene3.x API分析,Director 索引操作目录,Document,分词器
- 深度学习(Deep Learning):循环神经网络一(RNN)
- 线性表的顺序存储 c语言表达,线性表的基本操作顺序存储(C语言).doc
- GC算法-标记清除算法
- linux 看日期,Linux查看日期和时间
- Picture exceed the maximum allowable rotation range
- Java调用C/C++的过程
- golang 查询mysql_Golang查询MySQL数据库
- dex文件全解析C语言,中篇
- Excel常用电子表格公式大全【汇总篇】
- win10 internet 信息服务器,Win10无internet访问权限怎么解决?Win10无网络解决方法
- 在组策略中 计算机策略仅对,在组策略中,计算机策略仅对()生效。 - 问答库...
- kubernetes高可用集群web页面部署
- [路由][教程]OpenWrt通过LAN连接上级路由做交换机+无线功能教程
- Google开放星空观测应用SkyMap源代码
- 小米WatchS2和小米WatchS1 区别 哪个值得入手
- python两个数组合并排序_合并Python中的排序数组
- 网课答案题库系统 内含接口使用
热门文章
- ux设计中的各种地图_如何在UX设计中使用颜色
- facebook有哪些信息_关于Facebook表情表情符号的所有信息
- 粉红噪音_粉红的常绿力量
- 寒假作业3:抓老鼠啊
- 跟我一起学WCF(2)——利用.NET Remoting技术开发分布式应用
- shell学习笔记--自我总结
- Hadoop-Flume-类比吸尘器图解
- 你真的会玩SQL吗?Case也疯狂
- java.util.ConcurrentModificationException异常
- java 接口编程_JAVA面向接口编程