ToB企服应用市场:ToB评测及商务社交产业平台

标题: Python训练(1) [打印本页]

作者: 愛在花開的季節    时间: 2024-12-2 11:27
标题: Python训练(1)
一:英笔墨符频率统计。编写一个步调,对给定字符串中出现的a到z字母频率进行分析,忽略大小写采用降序方式输出
from collections import Counter
import string
def analyze_frequency(input_string):
    # 将字符串转换为小写以忽略大小写
    input_string = input_string.lower()
    
    # 过滤出仅包罗a-z字母的字符串
    filtered_string = ''.join(filter(str.isalpha,一 input_string))
    
    # 使用Counter来统计字符频率
    frequency_counter = Counter(filtered_string)
    
    # 仅保留a-z字母的频率,并排序(降序)
    sorted_frequency = sorted(frequency_counter.items(), key=lambda item: item[1], reverse=True)
    
    # 输出效果
    for char, freq in sorted_frequency:
        print(f"{char}: {freq}")
# 获取用户输入的字符串
input_string = input("请输入一串字符串: ")
# 调用函数进行分析
analyze_frequency(input_string)
二、随机密码生成。编写一个步调在26个字母大小写和9个数字构成的列表中随机生成10个八位密码:
import random
import string
 
def generate_passwords(num_passwords, password_length):
    # 创建包罗大小写字母和数字的字符集
    characters = string.ascii_letters + string.digits
    
    passwords = []
    for _ in range(num_passwords):
        # 从字符集中随机选择字符构成密码
        password = ''.join(random.choice(characters) for _ in range(password_length))
        passwords.append(password)
    
    return passwords
 
# 生成10个八位密码
num_passwords = 10
password_length = 8
passwords = generate_passwords(num_passwords, password_length)
 
# 打印生成的密码
for i, password in enumerate(passwords, start=1):
    print(f"assword {i}: {password}")
 
  1.  
复制代码
python复制代码
 def generate_passwords(num_passwords, password_length):
定义一个名为generate_passwords的函数,该函数接受两个参数:num_passwords(要生成的密码数目)和password_length(每个密码的长度)。
4.
  1.  
复制代码
python复制代码
 characters = string.ascii_letters + string.digits
在函数内部,创建一个名为characters的字符串,它包罗所有大小写字母(string.ascii_letters)和数字(string.digits)。
5.
  1.  
复制代码
python复制代码
 passwords = []
初始化一个空列表passwords,用于存储生成的密码。
6.
  1.  
复制代码
python复制代码
 for _ in range(num_passwords):
使用for循环来迭代指定次数(即要生成的密码数目)。
7.
  1.  
复制代码
python复制代码
 password = ''.join(random.choice(characters) for _ in range(password_length))
在循环体内,使用列表生成式和random.choice(characters)来生成一个由随机字符构成的字符串,该字符串的长度由password_length参数指定。然后,使用join方法将这个字符列表转换成一个字符串。
8.
  1.  
复制代码
python复制代码
 passwords.append(password)
将生成的密码添加到passwords列表中。
9.
  1.  
复制代码
python复制代码
 return passwords
函数返回包罗所有生成密码的列表。
10.
  1.  
复制代码
python复制代码
 num_passwords = 10
 password_length = 8
设置要生成的密码数目和每个密码的长度。
11.
  1.  
复制代码
python复制代码
 passwords = generate_passwords(num_passwords, password_length)
调用generate_passwords函数,并将返回的密码列表赋值给变量passwords。
12.
  1.  
复制代码
python复制代码
 for i, password in enumerate(passwords, start=1):
 print(f"assword {i}: {password}")
使用enumerate函数和for循环来迭代passwords列表,并打印每个密码。enumerate函数的start参数设置为1,以便密码编号从1开始。
 
补:enumerate(iterable, start=0)
iterable:一个可以遍历的对象,如列表、元组、字符串等。
start:索引的起始值,默认为 0。
enumerate() 函数返回一个枚举对象,该对象生成由 (index, value) 对构成的迭代器,此中 index 是从 start 开始的索引(默认为 0),value 是从 iterable 中获取的值。
 
 
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4