面向对象题目

1、随机数生成类
可以指定一批生成的个数,可以指定生成范围,可以调整每批生成数字的个数

import random
#1普通类实现
class RandomGen:
    def __init__(self, num=10,start=1,stop=100,patch=10):
        self.start = start
        self.stop = stop
        self.patch = patch

    def generate(self):
        return [random.randint(self.start,self.stop) for _ in range(self.patch)]

#2作为工具类实现,提供类方法
class RandomGen:
    @classmethod
    def generate(cls,start=1,stop=100,patch=10):
        return [random.randint(start,stop) for _ in range(patch)]

2、打印坐标
使用上题中的类,随机生成20个数字,两两配对形成二维坐标系的坐标,把这些打印组织起来,并打印输出

class Point:
def __init__(self,x,y):
    self.x = x
    self.y = y

points = [Point(x,y) for x ,y in zip(RandomGenerator(10).generate(),RandomGenerator(10).generate())]

for p in points:
    print('{}:{}'.format(p.x,p.y))

3、车辆信息
记录车的品×××mark、颜色color、价格price、速度speed等特征,并实现增加车辆信息、显示车辆全部信息的功能

class Car:
def __init__(self,mark,color,price,speed):
    self.mark = mark
    self.color = color
    self.price = price
    self.speed = speed

class CarInfo:
def __init__(self):
    self.info = []

def addcar(self,car:car):
    self.info.append(car)

def getall(self):
    return self.info

ci = CarInfo()
car = Car('ahuang',400,'rad',10)
ci.addcar(car)
ci.getall()  # 返回所有数据,此时在实现格式打印

转载于:https://blog.51cto.com/13886193/2175797

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值