python解题_python实现用户答题功能
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实现用户答题功能相关推荐
- 怎么用python做答题_python实现用户答题功能
python实战,用户答题分享给大家. 主要包含内容,文件的读取,更改,保存.不同文件夹引入模块.输入,输出操作.随机获取数据操作 随机生成算数表达式,用户输入答案,正确记录分数,错误返回0,并把用户 ...
- python实现登录功能_python实现用户登录功能模块
python实现登录功能模块#!/usr/bin/env python while True: user = raw_input('Please input username:') if user = ...
- 使用python实现问卷星自动答题功能——基础篇
题主在学习的过程中,老是有人来让填问卷星,就觉得人填的很麻烦,于是就自己动手写了一个python脚本来实现自动填写问卷星 1.首先我们得学会使用python里面的一个库,selenium,这个库是用来 ...
- 有了代码怎么用python爬虫_python实现简单爬虫功能
在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材. 我们最常规的做法就是通过鼠标右键,选择另存为.但有些图片鼠标右键的 ...
- python log函数怎么打_Python的log日志功能及设置方法
python log函数怎么打_Python的log日志功能及设置方法_Elaine要当律师的博客-CSDN博客
- python编程用户登陆c_django实现用户登陆功能详解
简介: Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是一个开放源代码的Web应用框架,由Python ...
- python中文件最重要的功能是什么和接收数据_Python测试题
Python 测试题 时间: 40 分钟 总分: 100 分 一.单项选择题(每题 3 分,共 60 分) 1 .如今,随着科技的发展和社会的进步,我国教育部在小学和初中都开设了编程课,大力普及中 小 ...
- 用python写注册登录界面web_用Python实现web端用户登录和注册功能
这篇文章主要介绍了用Python实现web端用户登录和注册功能的教程,需要的朋友可以参考下 用户管理是绝大部分Web网站都需要解决的问题.用户管理涉及到用户注册和登录. 用户注册相对简单,我们可以先通 ...
- python123注册登录_用Python实现web端用户登录和注册功能的教程
用户管理是绝大部分Web网站都需要解决的问题.用户管理涉及到用户注册和登录. 用户注册相对简单,我们可以先通过API把用户注册这个功能实现了: _RE_MD5 = re.compile(r'^[0-9 ...
最新文章
- UICollectionView的基本使用(1)
- 【PAT (Advanced Level) Practice】PAT (Advanced Level) Practice
- [T-ARA][Bo Peep Bo Peep]
- 天猫方糖 篇一:新版天猫放糖改造立体声
- github 和git_Google编码文档:Git和GitHub
- 小米9京东预约破百万!明日正式首销:售价2999元起
- Python 揭秘斐波那契定律,如何帮助码农分析股票?| 技术头条
- 根据id来实现小程序tab切换,
- 虚拟机中的linux系统联网,虚拟机上Linux系统上网设置
- 51nod-1548:欧姆诺姆和糖果
- matlab rand函数
- 数据加密 ---- SHA 加密
- flashplayer Debug下载地址
- 【RabbitMQ】基础四:路由模式(Routing)
- 计算机领域十大世界难题,世界四大科学难题是什么,什么是四大科学难题
- Django 链接sqlserver 简单教程
- 五年了还在原地踏步咋整?技术大佬给你整理了一套切实可行的方法论
- Android 壁纸设置和确认
- 【YbtOJ 线段树 - 2】公园遛狗
- 汇编——从一道题目浅谈分支结构
热门文章
- oopc——4.继承
- 从四个问题透析Linux下C++编译链接
- 从一盏路灯,看亿万级联接的智能之路
- 基于Flask开发网站--利用复选框进行批量操作
- 华为云发布“华为鲲鹏”培训认证体系,助力开发者“化鲲为鹏”
- Too many open files的四种解决办法
- 充满含金量的一场云原生Meetup,入场券免费发送中……
- AOS编排语言系列教程(五):创建安全组SecurityGroup
- oracle 交叉链接,Oracle里的交叉SQL语句写法-数据库专栏,ORACLE
- 网络协议osi模型_网络协议|OSI模型第二层数据链路层