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

201801171003097.png

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

201801171003098.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python是一种高级编程语言,拥有开源免费的环境和庞大的第三方库支持。在繁琐的答题工作中,利用Python实现百万答题自动百度搜索答案,可以大大提高效率和准确性。 Python实现百万答题自动百度搜索答案的过程可以分解成以下几个步骤: 第一步,获取题目和答案。这需要从一个源获取题目和答案的问答对,比如已有的题库或者从网上抓取。获取后,需要对问答对进行特征提取和分类存储,方便后续查询时使用。 第二步,使用Python实现百度搜索。可以使用Python内置的urllib库模拟浏览器访问百度搜索引擎,在搜索框中输入问题文本,然后获取并解析搜索结果的信息,包括相关答案和搜索结果的URL列表。需要注意的是,这种方式并不违反百度的搜索协议,因为查询和搜索的次数都是有限制的,且不会对搜索引擎的性能产生负面影响。 第三步,使用Python自然语言处理技术过滤答案。搜索结果的URL列表中可能包含了很多垃圾信息,例如广告、论坛讨论等等,需要使用Python自然语言处理技术对网页内容进行过滤和解析,只保留与答案相关的信息。例如,可以使用词频统计、TF-IDF等技术对搜索结果进行排序和过滤。 第四步,使用Python自动化工具模拟答题过程。使用Python模拟人的操作,可以实现自动化答题,即根据程序的搜索结果,自动点击正确答案并提交。需要注意的是,为了防止被封号,程序需要加入随机休眠和代理池等机制,以模拟人的操作。 通过以上步骤,就可以使用Python实现百万答题自动百度搜索答案。当然,需要提醒大家的是,使用这种方式来解决答题问题,并不是最好的方法,正确的学习和思考才是成功的关键。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值