幽灵资源网 Design By www.bzswh.com
python实战,用户答题分享给大家。
主要包含内容,文件的读取,更改,保存。不同文件夹引入模块。输入,输出操作。随机获取数据操作
随机生成算数表达式,用户输入答案,正确记录分数,错误返回0,并把用户分数记录到文本文件中,如用户名不存在着新建用户
myPythonFunction.py包含三个函数
#coding=utf-8 from random import randint from os import remove,rename #function 输入用户名字,获得用户得分,返回得分或者-1 def getUserScore(userName): try: f = open("userScores.txt","r") msg = f.readline() score=-1; while len(msg): msg = msg.strip('\n') msgArr = msg.split(",") if(msgArr[0]==userName): score = msgArr[1] break msg = f.readline() f.close() return score except IOError: f=open("userScores.txt","w") f.close() return -1 #function 更新或者保存用户名字,用户得分 def updateUserPoints(userName,score): temp = getUserScore(userName) if(temp==-1): f = open("userScores.txt","a") msg = userName+","+str(score)+"\n" f.write(msg) f.close() else: temp = open("userScores.tmp","w") f = open("userScores.txt","r") msg = f.readline() while len(msg): msg = msg.strip('\n') msgArr = msg.split(",") if(msgArr[0]==userName): msgArr[1] = str(score) temp.write(msgArr[0]+","+msgArr[1]+"\n") msg = f.readline() f.close() temp.close() remove("userScores.txt") rename("userScores.tmp","userScores.txt") #function 获取随机生成的数学表达式 ,返回字符串 def getQuestionString(): operandList = [] operatorList = [] operatorDict=("+","-","*","**") questionString = '' for i in range(5): operandList.append(randint(1,9)) for j in range(4): operatorList.append(operatorDict[randint(0,3)]) for k in range(4): questionString += str(operandList[k])+operatorList[k] questionString +=str(operandList[4]) return questionString
mathGame.py作为主函数
# -*- coding:utf-8 -*- import sys if 'H:\\python\func' not in sys.path: sys.path.append('H:\\python\\func') import myPythonFunction as myfunc print("请输入你的名字:") use = input() use=use.strip("\n") count = 0 if(myfunc.getUserScore(use)==-1): print("你是个新用户!") myfunc.updateUserPoints(use,0) else: count = int(myfunc.getUserScore(use)) print("你当前分数为:",count) while(1): questionString=myfunc.getQuestionString() result = eval(questionString) print("问题:",questionString.replace("**","^")) print("请输入你的答案:") userResult = input() userResult = userResult.strip("\n") flag = True if(userResult.startswith("-")): userResult = userResult[1:] flag = False while((not userResult.isdigit()) and userResult!="exit"): print("请输入数字,你的答案:") userResult = input() userResult = userResult.strip("\n") if(userResult.startswith("-")): userResult = userResult[1:] flag = False if(not flag): userResult = "-"+userResult if(userResult==str(result)): print(1) count = count+1 elif("exit"==userResult): break else: print(0) myfunc.updateUserPoints(use,count) print("你当前分数为:",count) print("谢谢进入,欢迎下次再来!")
文件目录结构,将myPythonFunction.py放到func文件夹中。userScores.txt存放用户名和相应的得分
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
python,用户答题
幽灵资源网 Design By www.bzswh.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
幽灵资源网 Design By www.bzswh.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。