类和对象
类和对象
1 class Rectangle: 2 length = 5 3 width = 4 4 5 def getRect(self): 6 print('矩形的长是:%.2f,宽是:%.2f'%(self.length, self.width)) 7 8 def setRect(self): 9 print '请输入长和宽' 10 self.length = float(input('长:')) 11 self.width = float(input('宽:')) 12 13 def getArea(self): 14 print('矩形的面积是:%.2f'%(self.length*self.width)) 15 16 rect = Rectangle()
1 class Ticket: 2 def __init__(self, weekend = False, child = False): 3 self.exp = 100 4 5 if weekend: 6 self.inc = 1.2 7 else: 8 self.inc = 1 9 10 if child: 11 self.discount = 0.5 12 else: 13 self.discount = 1 14 15 def calMoney(self, num): 16 return self.exp*self.inc*self.discount*num 17 18 adult = Ticket() 19 child = Ticket(child=True) 20 print('2个成人+1个小孩平日票价是%.2f 元人民币'%(adult.calMoney(2)+child.calMoney(1)))
1 # coding:utf-8 2 # __author__='TM' 3 # Email:troublemakervfx@foxmail.com 4 import random as r 5 legalx = [0,10] 6 legaly = [0,10] 7 8 class Turtle: 9 def __init__(self): 10 self.power = 100 11 # set area 12 self.x = r.randint(legalx[0], legalx[1]) 13 self.y = r.randint(legalx[0], legalx[1]) 14 15 def move(self): 16 self.new_x = self.x + r.choice([-2, -1, 1, 2]) 17 self.new_y = self.y + r.choice([-2, -1, 1, 2]) 18 19 # clamp to area 20 if self.new_x < legalx[0]: 21 self.x = legalx[0]- (self.new_x-legalx[0]) 22 elif self.new_x > legalx[0]: 23 self.x = legalx[1] - (self.new_x - legalx[1]) 24 else: 25 self.x = self.new_x 26 27 if self.new_y < legaly[0]: 28 self.y = legaly[0]- (self.new_y-legaly[0]) 29 elif self.new_y > legaly[0]: 30 self.y = legaly[1] - (self.new_y - legaly[1]) 31 else: 32 self.y = self.new_y 33 34 # change turtle parm 35 self.power -= 1 36 return (self.x, self.y) 37 38 def eat(self): 39 self.power += 20 40 if self.power > 100: 41 self.power = 100 42 43 class Fish: 44 def __init__(self): 45 # set area 46 self.x = r.randint(legalx[0], legalx[1]) 47 self.y = r.randint(legalx[0], legalx[1]) 48 49 def move(self): 50 self.new_x = self.x + r.choice([-1, 1]) 51 self.new_y = self.y + r.choice([-1, 1]) 52 53 # clamp to area 54 if self.new_x < legalx[0]: 55 self.x = legalx[0]- (self.new_x-legalx[0]) 56 elif self.new_x > legalx[0]: 57 self.x = legalx[1] - (self.new_x - legalx[1]) 58 else: 59 self.x = self.new_x 60 61 if self.new_y < legaly[0]: 62 self.y = legaly[0]- (self.new_y-legaly[0]) 63 elif self.new_y > legaly[0]: 64 self.y = legaly[1] - (self.new_y - legaly[1]) 65 else: 66 self.y = self.new_y 67 68 return (self.x, self.y) 69 # 将类实例化 70 turtle = Turtle() 71 fish = [] 72 for i in range(10): 73 new_fish = Fish() 74 fish.append(new_fish) 75 76 # 游戏开始,不出现下面情况,游戏一直进行 77 while True: 78 if turtle.power == 0: 79 print('乌龟没能量了,游戏结束') 80 break 81 if len(fish) == 0: 82 print('鱼吃完了,游戏结束') 83 break 84 # 乌龟移动一下 85 pos = turtle.move() 86 87 count = 0 88 for each_fish in fish[:]: 89 if each_fish.move() == pos: 90 print('一条小鱼被吃掉了,还剩下:%d条小鱼'% (len(fish)-1)) 91 fish.remove(each_fish) 92 turtle.eat() 93 print('乌龟剩余能量值:%d' % turtle.power) 94 count += 1 95 if count == 0: 96 print('乌龟这次啥都没吃到,能量剩余%d' % turtle.power ) 97 98 # 当鱼少于10条时,选择是否添加小鱼 99 if turtle.power < 10: 100 user_input = raw_input('乌龟要没能量了,是否添加更多小鱼?yes/no:') 101 if user_input in ['Yes','yes','y']: 102 user_count = int(raw_input('你想添加几条鱼:')) 103 for i in range(user_count): 104 new_fish = Fish() 105 fish.append(new_fish)
1 import math as m 2 3 class Point: 4 def __init__(self, x = 0, y = 0): 5 self.x = x 6 self.y = y 7 8 def getX(self): 9 return self.x 10 11 def getY(self): 12 return self.y 13 14 # 一条线由2个点组成,所以在构造函数里面定义2个点 15 class Line: 16 def __init__(self, p1, p2): 17 self.x = p1.getX() - p2.getX() 18 self.y = p1.getY() - p2.getY() 19 20 def getLen(self): 21 return m.sqrt(self.x**2 + self.y**2) 22 23 p1 = Point(0,1) 24 p2 = Point(0,0) 25 line1 = Line(p1, p2) 26 print line1.getLen()
1 class Stack: 2 def __init__(self, start = []): 3 self.stack = [] 4 for i in start: 5 self.push(i) 6 7 def push(self, x): 8 self.stack.append(x) 9 10 def isEmpty(self): 11 return not self.stack 12 13 def pop(self): 14 if not self.stack: 15 print '警告,栈为空' 16 else: 17 return self.stack.pop() 18 19 def top(self): 20 if not self.stack: 21 print '警告,栈为空' 22 else: 23 return self.stack[-1] 24 25 def bottom(self): 26 if not self.stack: 27 print '警告,栈为空' 28 else: 29 return self.stack[0] 30 31 s = Stack(['t','r','o','u','b','l','e'])
posted on 2017-10-25 16:59 TroubleMakerVFX 阅读(122) 评论(0) 收藏 举报
浙公网安备 33010602011771号