Пример #1
0
# -*- coding: utf-8 -*-
# 生成游戏页面
import sys
import yate,arithmetic_training_games

# =================生成一个HTML页面=================
print(yate.start_response())
print(yate.include_header('欢迎来到韦浩宇的算术运算训练营!'))
# print(yate.start_form('arithmetic_training_games.py'))
print(yate.para('即将开始算术训练!'))

Numlist = [x for x in range(20)]
ArtInstance = arithmetic_training_games.ArithmeticMode(Numlist,level= 2, OperatorList=['-'])

while(True):
    AnExpress = ArtInstance.get_ArtExpress()
    if(0 <= eval(AnExpress) <= 100):
        break
print(yate.header('%s = ' %(AnExpress), header_level = 1))
print(yate.header('更多算题,敬请期待!'))

# print('%s = ' %(AnExpress))

print(yate.include_footer({'Home':'/index.html'}))
Пример #2
0
# -*- coding: utf-8 -*-

import sys, time
sys.path.append(r'.\WebAppLearning\arithmetic_training_game\cgi-bin')
import arithmetic_training_games

Numlist = [x for x in range(20)]

Ainstance = arithmetic_training_games.ArithmeticMode(Numlist,
                                                     level=3,
                                                     OperatorList=['+', '-'])
ExpressCount = 0
TotalTimeCost = 0
quit_tag = 1
print('现在开始算术训练!---->输入q退出')
while (ExpressCount < 20 and quit_tag):
    AnExpress = Ainstance.get_ArtExpress()
    starttime = time.time()
    while (True):
        YourAnswer = input('第 %d 题 :%s = ' % (ExpressCount + 1, AnExpress))
        if (YourAnswer.lower() != 'q'):
            try:
                Answer_int = int(YourAnswer)
            except ValueError:
                print('请输入正确答案!')
                continue
            else:
                if (Answer_int == eval(AnExpress)):
                    endtime = time.time()
                    TotalTimeCost += endtime - starttime
                    ExpressCount += 1
Пример #3
0
CorrectNum = int(form_data['CorrectNum'].value)

RecordFilePath = 'data/WrongRecord.json'   #指定错误题目记录文件路径
# submit_string = '提交'
# ===================生成页面===================
print(yate.start_response())
print(yate.include_header('欢迎来到韦浩宇的算术运算训练营!'))

# print(yate.para('实际计算结果为:%s' %FactResult))
# ===========================================================
try:
    if(int(form_data['CalResult'].value) == int(FactResult)):
        # action_URL = 'generate_expression.py'
        header_string1 = '<font color="#009966">恭喜你,答对了! 请继续回答下一题</font>'
        while (True):
            ArithmeticExpress = ATG.ArithmeticMode(list(range(MaxNum)), OperatorList, CalLevel).get_ArtExpress()
            try:
                FactResult = eval(ArithmeticExpress)
                if (0 <= FactResult <= MaxNum):
                    break
            except ZeroDivisionError:
                continue
        # submit_string = '下一题'
        # re_answer_tag = 0
        if(WrongTag):
            CorrectNum += 1
        ExpNum += 1
        WrongTag = 0
    else:
        # action_URL = 'judge_result.py'
        header_string1 = '<font color="#FF6600">答错了,您再好好想想再重新回答!</font>'
Пример #4
0
    # ==================================================
    with open('data/setting.json', mode='w', encoding='utf-8') as settingfile:
        json.dump(
            {
                'numlist': form_data['numlist'].value,
                'operator': OperatorList,
                'level': form_data['level'].value
            }, settingfile)

# =================== 下面是生成这次的考试题(一共20道)===================
ExamList = {}
ExpNum = 1
ExamCount = 20
while (ExpNum <= ExamCount):
    while (True):
        ArithmeticExpress = ATG.ArithmeticMode(Numlist, OperatorList,
                                               CalLevel).get_ArtExpress()
        try:
            FactResult = eval(ArithmeticExpress)
            if (0 <= FactResult <= MaxNum):
                break
        except ZeroDivisionError:
            continue
    ExamList[ExpNum] = [ArithmeticExpress, FactResult]
    ExpNum += 1

# =================== 定义一段显示考试倒计时的代码 ===================
JS_string = 'var time=new Date();time.setHours(0);time.setMinutes(10);time.setSeconds(0);var downtime = 1;var timeOutText="";var totalseconds=0;' \
            'function countdown(){var timeshow=document.getElementById("timeshow");var hour=time.getHours();var min=time.getMinutes();var second=time.getSeconds();' \
            'setTimeout("countdown()",1000);totalseconds ++;if(downtime==1){time.setSeconds(second-1);timeshow.style.color="#0099CC";}' \
            'else{time.setSeconds(second+1);timeOutText="你已超时  ";timeshow.style.color="#CC0033";}if(hour=="0"&&min=="0"&&second=="1"){downtime=0;}' \
            'hour<10?hour="0"+hour:hour;min<10?min="0"+min:min;second<10?second="0"+second:second;timeshow.innerHTML=timeOutText+hour+":"+min+":"+second;' \