Python4.15

89 阅读1分钟

面向对象

图片.png

self:代表当前自己的对象。python中没有无参的概念,self就是无参。

图片.png

pi是math类自带的

图片.png

私有属性:__属性名

构造方法:init

self是自身,代表无参

图片.png

set和get方法:setAge()

图片.png

完数

图片.png

继承

图片.png

吃鱼小游戏

图片.png

import random
import time
x_range = [0, 10]
y_range = [0, 10]


class Turtle:
    def __init__(self):
        self.power = 100
        self.x = random.randint(x_range[0], x_range[1])
        self.y = random.randint(y_range[0], y_range[1])

    def move(self):
        x_new = self.x + random.choice([-2, -1, 1, 2])
        if x_new < x_range[0]:
            self.x = x_range[0] + (x_range[0] - x_new)
        elif x_new > x_range[1]:
            self.x = x_range[1] - (x_new - x_range[1])
        else:
            self.x = x_new            
        y_new = self.y + random.choice([-2, -1, 1, 2])
        if y_new < y_range[0]:
            self.y = y_range[0] + (y_range[0] - y_new)
        elif y_new > y_range[1]:
            self.y = y_range[1] - (y_new - y_range[1])
        else:
            self.y = y_new
        self.power -= 1
        return (self.x, self.y)

    def eat(self):
        self.power += 20
        if self.power > 100:
            self.power = 100


class Fish:
    def __init__(self, no):
        self.no = no
        self.x = random.randint(x_range[0], x_range[1])
        self.y = random.randint(y_range[0], y_range[1])

    def move(self):
        x_new = self.x + random.choice([-1, 1])
        if x_new < x_range[0]:
            self.x = x_range[0] + (x_range[0] - x_new)
        elif x_new > x_range[1]:
            self.x = x_range[1] - (x_new - x_range[1])
        else:
            self.x = x_new
        y_new = self.y + random.choice([-1, 1])
        if y_new < y_range[0]:
            self.y = y_range[0] + (y_range[0] - y_new)
        elif y_new > y_range[1]:
            self.y = y_range[1] - (y_new - y_range[1])
        else:
            self.y = y_new
        return (self.x, self.y)
        
t = Turtle()
fish_ls = []
for i in range(10):
    fish = Fish(i + 1)
    fish_ls.append(fish)
while True:
    pos = t.move()
    if t.power <= 0:
        print('乌龟挂了')
        break
    elif len(fish_ls) <= 0:
        print('鱼吃光了,游戏结束')
        break
    for f in fish_ls:
        if f.move() == pos:
            t.eat()
            print('{}号鱼被吃掉了'.format(f.no))
            fish_ls.remove(f)
            time.sleep(0.5)

人狗大战

图片.png

图片.png

字典:存储键值对

图片.png

numpy

图片.png

图片.png

图片.png

特殊数组

图片.png 二维全0

图片.png

二维全1

图片.png

主对线为1,其他的为0

图片.png

切片

图片.png

图片.png

图片.png

排序

图片.png

图片.png

图片.png

图片.png

简单折现图

图片.png

图片.png