欢迎访问宙启技术站
智能推送

使用Python编写的带有随机生成函数的NamedTypes()示例

发布时间:2023-12-12 18:36:24

下面是一个使用Python编写的带有随机生成函数的NamedTypes()示例:

import random

class NamedTypes:
    def __init__(self, types):
        self.types = types

    def random_type(self):
        return random.choice(self.types)

    def random_value(self, type):
        if type == 'int':
            return random.randint(0, 100)
        elif type == 'float':
            return random.uniform(0, 100)
        elif type == 'str':
            return ''.join(random.choices('abcdefghijklmnopqrstuvwxyz', k=random.randint(1, 10)))
        else:
            return None

# 创建一个NamedTypes对象
nt = NamedTypes(['int', 'float', 'str'])

# 生成随机类型
print(nt.random_type())  # 输出: int 或 float 或 str

# 生成随机值
print(nt.random_value('int'))  # 输出: 一个随机的整数
print(nt.random_value('float'))  # 输出: 一个随机的浮点数
print(nt.random_value('str'))  # 输出: 一个随机的字符串

# 生成多个随机值
for _ in range(10):
    type = nt.random_type()
    value = nt.random_value(type)
    print(f'{type}: {value}')

上面的代码定义了一个NamedTypes类,它接受一个类型列表作为初始化参数。然后,它提供了random_typerandom_value两个方法用于生成随机类型和随机值。

random_type方法使用random.choice函数从类型列表中随机选择一个类型返回。

random_value方法使用if-elif-else语句根据传入的类型参数生成不同类型的随机值。对于整数类型,它使用random.randint函数生成0到100之间的整数;对于浮点类型,它使用random.uniform函数生成0到100之间的浮点数;对于字符串类型,它使用random.choices函数从小写英文字母中随机选择一些字符生成一个随机字符串。

在示例中,我们首先创建了一个NamedTypes对象,然后调用random_type方法生成一个随机类型,并打印出来。接下来,我们使用random_value方法分别生成一个随机整数、一个随机浮点数和一个随机字符串,并打印出来。最后,我们使用一个循环生成10个随机类型和对应的值,并打印出来。

这个示例演示了如何使用Python编写带有随机生成函数的NamedTypes类,并提供了使用示例。