python实现用户答题功能


Posted in Python onJanuary 17, 2018

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("谢谢进入,欢迎下次再来!")

python实现用户答题功能

文件目录结构,将myPythonFunction.py放到func文件夹中。userScores.txt存放用户名和相应的得分

python实现用户答题功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python合并字典键值并去除重复元素的实例
Dec 18 Python
浅析Python3爬虫登录模拟
Feb 07 Python
python 基本数据类型占用内存空间大小的实例
Jun 12 Python
使用Python将Mysql的查询数据导出到文件的方法
Feb 25 Python
python3使用腾讯企业邮箱发送邮件的实例
Jun 28 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
Nov 19 Python
TensorFlow加载模型时出错的解决方式
Feb 06 Python
python 实现两个npy档案合并
Jul 01 Python
Python自动登录QQ的实现示例
Aug 28 Python
Python开发入门——迭代的基本使用
Sep 03 Python
python爬取youtube视频的示例代码
Mar 03 Python
关于PySnooper 永远不要使用print进行调试的问题
Mar 04 Python
python编程培训 python培训靠谱吗
Jan 17 #Python
Python温度转换实例分析
Jan 17 #Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
Jan 17 #Python
python+matplotlib绘制3D条形图实例代码
Jan 17 #Python
《Python学习手册》学习总结
Jan 17 #Python
浅谈Python对内存的使用(深浅拷贝)
Jan 17 #Python
Python分支结构(switch)操作简介
Jan 17 #Python
You might like
php清除和销毁session的方法分析
2015/03/19 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
PHP 无限级分类
2017/05/04 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
javascript 验证日期的函数
2010/03/18 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
jQuery实现表头固定效果的实例代码
2013/05/24 Javascript
JavaScript定时器详解及实例
2013/08/01 Javascript
纯JS实现动态时间显示代码
2014/02/08 Javascript
javascript实现删除前弹出确认框
2015/06/04 Javascript
向JavaScript的数组中添加元素的方法小结
2015/10/24 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
2016/09/18 Javascript
如何使用Vuex+Vue.js构建单页应用
2016/10/27 Javascript
javascript 注释代码的几种方法总结
2017/01/04 Javascript
浅谈Vue下使用百度地图的简易方法
2018/03/23 Javascript
VUE 3D轮播图封装实现方法
2018/07/03 Javascript
js实现点击按钮随机生成背景颜色
2020/09/05 Javascript
python 解析XML python模块xml.dom解析xml实例代码
2014/02/07 Python
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
django框架用户权限中的session缓存到redis中的方法
2019/08/06 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
2020/02/10 Python
使用python绘制cdf的多种实现方法
2020/02/25 Python
Python二元算术运算常用方法解析
2020/09/15 Python
碧欧泉美国官网:Biotherm美国
2016/08/31 全球购物
小型女装店的创业计划书
2014/01/09 职场文书
《油菜花开了》教学反思
2014/02/22 职场文书
四风问题查摆材料
2014/08/25 职场文书
授权委托书样本
2014/09/25 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
2015年元宵节活动总结
2015/02/06 职场文书
有关骆驼祥子的读书笔记
2015/06/26 职场文书
股东协议书范本2016
2016/03/21 职场文书
一篇文章弄懂Python中的内建函数
2021/08/07 Python
星际争霸 Light vs Action 一场把教主看到鬼畜的比赛
2022/04/01 星际争霸