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实现在线答题_python实现用户答题功能相关推荐

  1. python解题_python实现用户答题功能

    python实战,用户答题分享给大家. 主要包含内容,文件的读取,更改,保存.不同文件夹引入模块.输入,输出操作.随机获取数据操作 随机生成算数表达式,用户输入答案,正确记录分数,错误返回0,并把用户 ...

  2. 怎么用python做答题_python实现用户答题功能

    python实战,用户答题分享给大家. 主要包含内容,文件的读取,更改,保存.不同文件夹引入模块.输入,输出操作.随机获取数据操作 随机生成算数表达式,用户输入答案,正确记录分数,错误返回0,并把用户 ...

  3. python实现登录功能_python实现用户登录功能模块

    python实现登录功能模块#!/usr/bin/env python while True: user = raw_input('Please input username:') if user = ...

  4. python 屏幕录制_Python实现屏幕录制功能的代码

    前段时间做视频时需要演示电脑端的操作,因此要用到屏幕录制,下载了个迅捷屏幕录制,但是没有vip录制的视频有水印且只能录制二分钟,于是鄙人想了下能不能通过万能的python来实现呢?经过一晚上的尝试发现 ...

  5. python syslog 接口_python接口测试之日志功能

    之前在简书中看了一篇关于日志功能的文档,供大家参考:https://www.jianshu.com/p/62f7b49b41e7 Python通过logging模块提供日志功能,所以直接导入即可 im ...

  6. python 装机配置_Python实现自动装机功能案例分析

    前言 提示:在管理服务器的过程中,发现有很多服务器在启动的过程中默认以PXE方式启动,这就导致我们无法将PXE装机程序放开到所有的交换机端口中,本文是以Python对dell服务器进行了一些控制,更多 ...

  7. python log日志_Python的log日志功能及设置方法

    引入:Python中有个logging模块可以完成相关信息的记录,在debug时用它往往事半功倍 一.日志级别(从低到高): DEBUG :详细的信息,通常只出现在诊断问题上 INFO:确认一切按预期 ...

  8. python定时器 循环_Python循环定时服务功能(相似contrab)

    Python实现的循环定时服务功能.类似于Linux下的contrab功能.主要通过定时器实现. 注:Python中的threading.timer是基于线程实现的.每次定时事件产生时.回调完响应函数 ...

  9. python秒杀神器_Python实现京东秒杀功能代码

    本文实例为大家分享了Python实现京东秒杀功能的具体代码,供大家参考,具体内容如下 #Python 3.5 #coding:utf-8 #import scrapy from selenium im ...

  10. python 12306登录_Python 实现12306登录功能实例代码

    下面一段代码给大家带来了python实现12306登录功能,具体代码如下所示: #!/usr/bin/env python import requests import urllib.parse im ...

最新文章

  1. 机器学习知识点(二十六)概率图模型条件随机场CRF
  2. 【外贸人必看骗术】和中东客户做生意
  3. 京东SSO单点登陆实现分析
  4. 微型计算机键盘上的西服的间称为,一台完整的微型计算机主要由主机箱. .键盘.鼠标及音箱.打印机组成....
  5. 【Hbase】HBase 更改表名
  6. 原生js调用json方法
  7. linux串口环形缓冲区,能不能讲解下串口环形缓冲区的概念?
  8. motion加树莓派打造实时监控
  9. poj 3368 Frequent values rmq
  10. hexo init报错
  11. 小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介
  12. 模仿老乡鸡点餐小程序选择门店功能
  13. uboot如何驱动SD卡
  14. codec engine代码阅读四---CE_DIR/examples/ti/sdo/ce/examles/codecs/videnc_copy(转)
  15. CAD打断线条的快捷键是什么?CAD打断线条教程
  16. 利用Python提取PDF文件中的文本信息
  17. Java API连接Kerberos认证的HBASE
  18. 利用Python自制雷霆战机小游戏,娱乐编程,快乐学习!
  19. C#Base64编码
  20. 基于实时计算(flink)打造舆情分析平台——新华智云...

热门文章

  1. functions.php隐藏恶意代码,警惕WordPress主题functions.php包含的恶意代码
  2. 【数学建模】基于matlab改进量子行为的粒子群算法机组燃烧控制系统建模【含Matlab源码 1609期】
  3. 【回归预测】基于matlab布谷鸟算法优化BP神经网络回归预测(多输入单输出)【含Matlab源码 1555期】
  4. 【动力学】基于matlab GUI汽车动力学分析系统【含Matlab源码 1050期】
  5. 【通信】基于matlab Alamouti空频编码【含Matlab源码 801期】
  6. SPSS数据编码(图文+数据集)【SPSS 008期】
  7. mysqld restart service 卡_MySQL数据库之mysqld服务启动失败, Failed to restart mysqld.service: Unit not found....
  8. aws搭建深度学习gpu_选择合适的GPU进行AWS深度学习
  9. 计算机考医学考研方向,医学考研科目都有哪些方向
  10. Oracle的基本注意点