homework-05


然后是我们的代码部分 import web
import thread
import time
import data
import string
from web import form render=web.template.render('templates/')
urls=(
'/','index',
'/attend','attend',
'/register','register'
) registerform=form.Form(
form.Textbox("id",form.notnull)
) attendform=form.Form(
form.Textbox("id",form.notnull),
form.Textbox("num",form.notnull)
) def index_page():
for i in list(data.db.select('users')):
print i['id']
time.sleep(10)
for i in list(data.db.select('users')):
data.users[i['id']]=0.0
while True:
start=time.time()
data.thisturn={}
data.num=0
data.total=0
time.sleep(0.9)
if data.num!=0:
average=data.total/data.num*0.618
print average
data.thisturn['winner']=score(data.thisturn,data.users,average)
data.winner=data.thisturn['winner']
data.winnernumber=data.thisturn[data.winner]
data.thisturn['result']=average
data.goldpoint.append(average)
t=1-(time.time()-start)
time.sleep(t)
print data.num
data.turn+=1 def score(thisturn,users,average):
value_max=0
value_min=100
for i in thisturn:
a=abs(thisturn[i]-average)
if a>value_max:
value_max=a
max_num=i
if a<value_min:
value_min=a
winner=i
for i in list(data.db.select('users')):
if i['id'] not in thisturn and i['id']!=winner:
users[i['id']]-=5
elif i['id']==winner:
users[i['id']]+=10
elif i['id']==max_num:
users[i['id']]-=1
return winner class index:
def GET(self):
return render.index(data.turn,data.winnernumber,data.users,data.goldpoint) class attend:
def GET(self):
form=attendform()
return render.attend(form)
def POST(self):
form=attendform()
if not form.validates():
return render.attend(form)
else:
i=web.input()
i.num=string.atof(i.num)
data.num+=1
data.total+=i.num
data.thisturn[i.id]=i.num
return 0 class register:
def GET(self):
form=registerform()
return render.register(form)
def POST(self):
form=registerform()
if not form.validates():
return render.register(form)
else:
i=web.input()
data.db.insert('users',id=i.id,pd=0)
data.users[i.id]=0.0
return 0 if __name__=="__main__":
thread.start_new_thread(index_page,())
app=web.application(urls,globals())
app.run()
$def with(turn,number,users,goldpoint)
<html>
<head>
<meta http-equiv="refresh" content="1">
<script type="text/javascript">
function draw(){
var canvas=document.getElementById("cv");
var a=$goldpoint
if(canvas.getContext){
var ctx=canvas.getContext("2d");
ctx.beginPath();
ctx.moveTo(0,a[0]);
for(i=1;i<=$turn-1;i++){
ctx.lineTo(10*i,a[i]);
}
ctx.stroke();
ctx.endPath();
}
}
</script>
</head>
<body onload="draw();">
<p>现在是第$turn轮</p>
<p>上一轮获胜数字$number</p>
<p>选手得分</p>
<table border="1">
<tr>
$for i in users:
<td><b> $i </b></td>
</tr>
<tr>
$for i in users:
<td><b> $users[i] </b></td>
</tr>
</table>
<canvas id="cv" width="1500" height="150">
</canvas>
</body>
</html>
homework-05的更多相关文章
- Machine Learning, Homework 9, Neural Nets
Machine Learning, Homework 9, Neural NetsApril 15, 2019ContentsBoston Housing with a Single Layer an ...
- STAT UN2102 Homework
STAT UN2102 Homework 4 [100 pts]Due 11:59pm Monday, May 6th on CanvasYour homework should be submitt ...
- Final阶段第1周/共1周 Scrum立会报告+燃尽图 05
作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2484] 版本控制:https://git.coding.net/liuyy08 ...
- 20181009-6 选题 Scrum立会报告+燃尽图 05
Scrum立会报告+燃尽图(05)选题 此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2195 一.小组介绍 组长:刘莹莹 ...
- 20181120-8 Beta阶段第2周/共2周 Scrum立会报告+燃尽图 05
此作业要求参见[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2413] 版本控制地址 [https://git.coding.ne ...
- 20181113-7 Beta阶段第1周/共2周 Scrum立会报告+燃尽图 05
作业要求https://edu.cnblogs.com/campus/nenu/2018fall/homework/2387 版本控制https://git.coding.net/lglr2018/F ...
- 20181016-4 Alpha阶段第2周/共2周 Scrum立会报告+燃尽图 05
作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2288 Scrum master:王硕 一.小组介绍 组长:王一可 组员:范 ...
- C语言|博客作业05
这个作业属于哪个课程 C语言程序设计II 这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9825 我在这个课程的 ...
- day38-IO流05
JavaIO流05 4.常用的类04 4.4节点流和处理流03 4.4.8打印流-PrintStream和PrintWriter 打印流只有输出流,没有输入流 1.简单介绍及应用 PrintStrea ...
- Java学习笔记(05)
目录: static的用法 主函数的定义 增强for的循环 单例设计模式 封装 一.Static的用法 1.对象的内存分析 对象的引用变量是存在于栈区,而在堆区开辟了一块内存空间,调用对象给成员变量赋 ...
随机推荐
- QTP10&QTP11&UFT11.5的安装和破解
QTP10的安装和破解方法 下载QTP10.0并安装. 安装成功后,在C:\Program Files\Common Files\Mercury Interactive下创建文件夹:License M ...
- CardView官方教程
Create Cards CardView extends the FrameLayout class and lets you show information inside cards that ...
- Android中LayoutParams
LayoutParams are used by views to tell their parents how they want to be laid out. See ViewGroup Lay ...
- java开发之匿名内部类,接口的使用
下面的例子是Java.JDK7学习笔记上的 打算开发多人联机程序,对每个联机客户端,都会建立Client对象封装相关信息 1.Client.java public class Client { pri ...
- adb shell settings ....
Android4.2的源码android-17\com\android\commands目录下较之前的版本多了一个settings命令,查看其中的SettingsCmd.java文件,末尾有命令的帮助 ...
- hdu 4973 A simple simulation problem. (线段树)
题目链接 题意: 给定n长的序列 m个操作 序列默认为 1, 2, 3···n 操作1:D [l,r] 把[l,r]区间增长 :( 1,2,3,4 进行 D [1,3]变成 1,1,2,2,3,3,4 ...
- table share
每个表的表结构会放到table_def_cache中,一个table share对应一个实例 table share 又会实例化为一个对象, 每个进程,每个实例化的对象,
- pinyin4j使用示例
pinyin4j的主页:http://pinyin4j.sourceforge.net/pinyin4j能够根据中文字符获取其对应的拼音,而且拼音的格式可以定制pinyin4j是一个支持将中文转换到拼 ...
- HTTP请求头host解析
Host: 域名 Host表示请求的服务器网址: request headers中的host字段 例如有user.xiaoqiang.com,hotel.xiaoqiang.com 现在需要登录后 ...
- UVA 350 Pseudo-Random Numbers 伪随机数(简单)
题意:给定Z, I, M, L,根据随机数产生式k=(Z*L+I)%M.但是L表示的是上一个产生的数,比如根据产生式产生了序列{2,5,4,3}那么5是由L=2算来的,4由L=5算来的..第1个所产 ...