python练习册-第0001题

Description

做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?

Analysis

激活码应该随机生成,所以要用到random模块来随机生成激活码

Solution

学会使用random模块中的常见方法即可
下面记录常用的random方法

import random
import string

# 随机整数
# randint(a, b),生成a~b之间的随机数a<=b
# c_int = random.randint(100, 1) 错误
a_int = random.randint(10, 20)
b_int = random.randint(20, 20)

# randrange(a, b, c)以c为步长生成a~b之间的随机数
a_range = random.randrange(10, 20, 3)

# random.random() 随机浮点数

# 随机浮点数
# uniform(a, b),生成a~b之间的随机浮点数
a_uniform = random.uniform(1, 100)


# 随机字符
# random.choice('abc')
a_choice = random.choice('abc')

# 多个字符中选取特定数量的字符
# random.sample('abcdef', 3)
# 返回值为list
a_sample = random.sample('abcdef', 3)

# 从多个字符中选取特地数量的字符组成字符串
# Python3中移除了string.join()方法,使用全局的join()
a = ''.join(random.sample('abcbdjakbsdjkb', 3))

我们只需要使用从多个字符中选取特定数字的字符组成字符串即可

代码

import random
import string

def generate(length, num):
    file = open('./code.txt', 'w')
    for i in range(num):
        s = ''.join(random.sample(string.ascii_uppercase + string.digits, length))
        file.write(s + '\n')

generate(10, 20)

看到有人用uuid来生成,需要学习一个。

你可能感兴趣的:(python练习册-第0001题)