[Python教学] 实作密码产生器

实作密码产生器

请使用者输入要产生几位数的密码长度
依据使用者输入的密码长度,输出密码

import randomimport string数字 = string.digits英文 = string.ascii_letters字母表 = 数字 + 英文# 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ乱数字母表 = list(数字 + 英文)random.shuffle(乱数字母表)# ['Y', 'h', 'u', 'J', 'I',.., 'X']长度 = int(input("你的密码要几位数?"))密码 = "".join(乱数字母表[:长度])print(f"密码:{密码}")

http://img2.58codes.com/2024/20072651d7tu7t4eCP.png

random 标準函式库

http://img2.58codes.com/2024/20072651H89eLiWZPH.jpg

random 模组是Python的一个内置模组,它提供了生成随机数的功能。随机数在许多应用中都很有用,例如模拟、游戏、加密和随机数学等。以下是一些有关 random 模组的介绍:

随机数生成:
random 模组提供了多种生成随机数的函数,包括整数和浮点数。以下是一些常用的函数:random.random(): 返回一个0到1之间的随机浮点数。random.randint(a, b): 返回一个在整数範围**[a, b]**内的随机整数。random.uniform(a, b): 返回一个在浮点数範围**[a, b]**内的随机浮点数。
import random# 生成随机浮点数random_num = random.random()print("随机浮点数:", random_num)# 随机浮点数: 0.9522926491054712# 生成随机整数random_int = random.randint(1, 10)print("随机整数:", random_int)# 随机整数: 7
随机序列操作:
random 模组还提供了一些用于操作随机序列的函数,例如将序列打乱、从序列中随机选取元素等。random.shuffle(seq): 打乱序列 seq 的顺序。random.choice(seq): 从序列 seq 中随机选取一个元素。random.sample(seq, k): 从序列 seq 中随机选取 k 个不重複的元素。
import randommy_list = [1, 2, 3, 4, 5]# 打乱序列顺序random.shuffle(my_list)print("打乱后的序列:", my_list)# 打乱后的序列: [1, 3, 5, 4, 2]# 随机选取一个元素random_element = random.choice(my_list)print("随机选取的元素:", random_element)# 随机选取的元素: 2# 随机选取多个不重複的元素random_sample = random.sample(my_list, 2)print("随机选取的样本:", random_sample)# 随机选取的样本: [2, 1]
随机种子设定:
如果需要生成可重複的随机数序列,您可以使用 random.seed(seed) 函数,其中 seed 是随机种子值。同一个种子值将产生相同的随机数序列。
import random# 设定随机种子random.seed(42)# 生成随机数random_num = random.random()print("随机浮点数:", random_num)# 随机浮点数: 0.6394267984578837

random 模组提供了许多强大的随机数生成工具,可用于各种应用。根据您的需求,您可以使用这些函数来生成随机数、操作序列,以及实现其他随机性相关的功能。

string 函式库

string 模组是Python的一个内置模组,它提供了一些常用的字符串相关常数和函数。这个模组通常用于处理和操作字符串,包括字符集、标点符号、数字等等。以下是一些 string 模组中的常用成员和功能:

string.ascii_letters: 包含所有ASCII字母(大写和小写)的字符
import stringletters = string.ascii_lettersprint(letters)  # 输出: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.ascii_lowercase: 包含所有ASCII小写字母的字符串。
import stringlowercase = string.ascii_lowercaseprint(lowercase)  # 输出: 'abcdefghijklmnopqrstuvwxyz'
string.ascii_uppercase: 包含所有ASCII大写字母的字符串。
import stringuppercase = string.ascii_uppercaseprint(uppercase)  # 输出: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.digits: 包含所有数字字符的字符串。
import stringdigits = string.digitsprint(digits)  # 输出: '0123456789'
string.punctuation: 包含所有标点符号字符的字符串。
import stringpunctuation = string.punctuationprint(punctuation)  # 输出: '!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~'
string.whitespace: 包含所有空白字符(空格、制表符、换行符等)的字符串。
import stringwhitespace = string.whitespaceprint(whitespace)  # 输出: ' \t\n\r\x0b\x0c'

这些成员让您可以方便地访问常见的字符集,并用于字符串操作和验证。例如,您可以使用 string.digits 来检查一个字符串是否只包含数字字符。这些常数可以帮助简化代码并提高代码的可读性。

此外,string 模组还提供了一些函数,如 string.capwords(),用于大写字符串中的每个单词的首字母,以及 string.Template,用于进行字符串模板替换等等。如果您需要更多信息,可以参考Python官方文档中有关 string 模组的详细说明。

结论

透过使用 random 和 string 内建函式库,就可以简单达到一些小的应用,
这些函式库应用的好可以帮我们更快地达成任务。

系列文章

分享所学贡献社会
[Python教学]开发工具介绍
[开发工具] Google Colab 介绍
[Python教学] 资料型态
[Python教学] if判断式
[Python教学] List 清单 和 Tuple元组
[Python教学] for 和 while 迴圈
[Python教学] Dictionary 字典 和 Set 集合
[Python教学] Function函示
[Python教学] Class 类别
[Python教学] 例外处理
[Python教学] 档案存取
[Python教学] 实作密码产生器

最后最后有一件小小的请求,请大家帮我填写一下问卷,
让我们知道你想上怎么样课程,感激不尽。
问卷这边

Facebook 粉丝页 - TechMasters 工程师养成记

程式教育 - 工程师养成记

同步分享到部落格


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章