随机数生成类
import random
class RandomGenerator:
def __init__(self,count=10,minimum=1,maximum=100):
self.count=count
self.min=minimum
self.max=maximum
self.g=self._gen()
def _gen(self):
while True:
yield random.randrange(self.min,self.max)
def gen(self,count=None):
if count is None:
count=self.count
return [next(self.g) for _ in range(count)]
b=RandomGenerator()
print(b.gen(3))
import random
class RandomGenerator:
def __init__(self,minimum=1,maximum=100,count=10):
self.min=minimum
self.max=maximum
self.count=count
def gen(self):
return [random.randint(self.min,self.max) for _ in range(self.count)]
b=RandomGenerator()
print(b.gen())
print(b.gen())
classmethod & staticmethod
import random
class RandomGenerator:
@classmethod
def gen(cls,min=1,max=100,count=10):
return [random.randint(min,max) for _ in range(count)]
@staticmethod
def _gen(min=1,max=100,count=10):
return [random.randrange(min,max+1) for _ in range(count)]
print(RandomGenerator.gen())
print(RandomGenerator.gen())
print(RandomGenerator._gen())
print(RandomGenerator._gen())
print(RandomGenerator()._gen())
print(RandomGenerator()._gen())
添加Point类
import random
class RandomGenerator:
def __init__(self,minimum=1,maximum=100,count=10):
self.min=minimum
self.max=maximum
self.count=count
self.g=self._gen()
def _gen(self):
while True:
yield [random.randint(self.min,self.max) for _ in range(self.count)]
def gen(self,count):
self.count=count # 每次改变对象count属性
return next(self.g)
b=RandomGenerator()
class Point: # class coordinates
def __init__(self,x,y):
self.x=x
self.y=y
def __str__(self):
return '{}=>{}'.format(self.x,self.y)
def __repr__(self):
return '{} : {}'.format(self.x,self.y)
lst=[Point(*v) for v in zip(b.gen(5),b.gen(5))]
print(lst)
for p in lst:
print(p.x,':',p.y)
for p in lst:
print(str(p))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律