笨方法学Python练习43:你来制作一个游戏

来源:互联网 发布:网络传播推广方案 编辑:程序博客网 时间:2024/04/30 07:14

习题 43: 你来制作一个游戏
你要开始学会自食其力了。通过阅读这本书你应该已经学到了一点,那就是你需
要的所有的信息网上都有,你只要去搜索就能找到。唯一困扰你的就是如何使用
正确的词汇进行搜索。学到现在,你在挑选搜索关键字方面应该已经有些感觉了。
现在已经是时候了,你需要尝试写一个大的项目,并让它运行起来。
这次偷懒把我自己作业搬上了:

 #-*- coding:utf-8 -*-print "**沉降速度计算器 v1.0**\n已知泥沙的重度为2.65,水的重度为1。\n取ν的值为1.01 × 10^(-6) m^2/s""""x1= γs = ρs , x2= γ = ρ , x3 = ν """global g,x1,x2,x3g = 9.81x1=  2.65x2= 1.0x3= 1.01*(10.0**(-6))a01 = ((18.0 * 0.5) * ( x3 ** 2) / (g *1.65)) ** (1.0 / 3.0)d1 = float(a01 * 1000)a11 = x3 * (10.0 ** 3)a12 = (x1 -x2) / x2a13 = (a12 * g) ** 0.5a14 = (a11 / (1.72 * a13) )** (2.0 / 3.0)d2 = float(a14 * 1000)a21 = x3 * (2.0 * (10.0 ** 5))a22 = 2.6 * ((x1 -x2) / x2 * g) ** 0.5a23 = (a21 / a22) ** (2.0 / 3.0)d3 = float(a23 * 1000)print "本程序选取Re分别为0.5、10^3、10^5作为流态分界线\n其所对应的粒径分界线分别为\n%fmm\n%fmm\n%fmm" % (d1,d2,d3)class S(object):    def __init__(self,d):        self.d = float(d)    def  s1(self):        self.a = (x1 - x2)  /  x2        self.b = (g * (self.d**2)) / x3        self.c = 1.0 / 18.0        w = float(self.c * self.a * self.b)        print "当中值粒径为 %f 时,流态为层流,沉降速度为 %f m/s。" %(self.d,w)    def s2(self):        self.a = float(((13.95 * x3) / self.d ) ** 2)        self.b = float(1.09 * ((x1 - x2) / x2) * self.d * g)        self.c = float(13.95 * x3 / self.d)        w = (( self.a + self.b) ** 0.5 ) - self.c        print  "当中值粒径为 %f 时,流态为过渡区,沉降速度为 %f m/s。" %(self.d,w)    def s3(self):        self.a = ((x1 -x2) / x2 ) * g * self.d        w = 1.72 * (self.a ** 0.5)        print  "当中值粒径为 %f 时,流态为光滑紊流区,沉降速度为 %f m/s。" %(self.d,w)    def s4(self):        self.a = ((x1 -x2) / x2 ) * g * self.d        w0 = 2.6 * (self.a ** 0.5)        print  "当中值粒径为 %f 时,流态为紊流区,沉降速度为 %f m/s。" % (self.d,w)def start():    while True:        d01 = float(raw_input("输入中值粒径(单位mm):"))        d = d01 / 1000        next1 = S(d)        if d < a01:            room = getattr(next1, "s1")            next1 = room()        elif a01 < d < a14:            room = getattr(next1,"s2")            next1 = room()        elif a14 < d < a23:            room = getattr(next1,"s3")            next1 = room()        else:            room = getattr(next1,"s4")            next1 = room()start()
阅读全文
0 0