主要包含內容,檔案的讀取,更改,儲存。不同資料夾引入模組。輸入,輸出操作。隨機獲取資料操作
隨機生成算數表示式,使用者輸入答案,正確記錄分數,錯誤返回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):
for j in range(4):
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:
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實戰,使用者答題分享給大家。主要包含內容,檔案的讀取,更改,儲存。不同資料夾引入模組。輸入,輸出操作。隨機獲取資料操作 隨機生成算數表示式,使用者輸入答案,正確記錄分數,錯誤返回0,並把使用者分數記錄到文字檔案中,如使用者名稱不存在著新建使用者 mypythonfunction.py包含...
Python答題 LinteCode簡單題庫(一)
366.斐波納契數列 查詢斐波納契數列中第 n 個數。所謂的斐波納契數列是指 前2個數是 0 和 1 第 i 個數是第 i 1 個數和第i 2 個數的和。斐波納契數列的前10個數字是 0,1,1,2,3,5,8,13,21,34 給定 1,返回 0 給定 2,返回 1 給定 10,返回 34 參 d...
Python題庫 簡答題
1.命名空間和作用域的關係 命名空間定義了在某個作用域內變數名和繫結值之間的對應關係,命名空間是鍵值對的集合,變數名與值是一一對應關係。作用域定義了命名空間中的變數能夠在多大範圍內起作用。2.裝飾器函式的作用?寫乙個裝飾器程式 在不修改原函式及其呼叫方式的情況下對原函式功能進行擴充套件。def ou...