python實現使用者答題功能

2022-10-04 20:30:26 字數 3606 閱讀 6793

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")

tuxpvrpneaf.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(operandl程式設計客棧ist[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(程式設計客棧"你當前分tuxpvrpnea數為:",count)

print("謝謝進入,歡迎下次再來!")

檔案目錄結構,將mypythonfunction.py放到func資料夾中。userscores.txt存放使用者名稱和相應的得分

本文標題: python實現使用者答題功能

本文位址:

如何實現使用者登出功能

httpresponse 裡有個delete cookie 方法專門用來刪除cookie 我們到此來完整的實現一下 訪問首頁如果沒有登入,就跳轉到登入頁面,登入成功之後再跳轉回來的過程。3個方法,index login logout 例項化userlogin類 msg result 使用者名稱或密碼...

QT實現使用者登入功能

功能 1.提供登入介面 客戶端 2.伺服器端用資料庫來儲存使用者名稱和密碼 3.註冊時客戶端將註冊資訊傳送給伺服器端,並進行驗證,如果註冊名可用,新增進資料庫並返回客戶端新增成功資訊。4.登入時客戶端將登入資訊傳送給伺服器端進行驗證,服務端返回驗證結果。待新增 1.伺服器端併發功能實現 includ...

利用SSH框架實現使用者登入功能

由於是登入功能,要用到表單,所以相應的就要用到actionform,寫乙個類,繼承於actionform類,由於已經有乙個pojo物件了,所以不用再寫eneity物件。直接在裡面例項化乙個pojo物件user,並提供set 與get 方法。如下 private user user new user ...