1. 字符串读取、拼接、匹配、随机生成
2. ‘’.join()连接字符串
3. 使用了random随机函数
4. 字符串列表里面使用判断语句调用函数
1、输入一个字符串,将该字符串中下标为偶数的字符组成新串并通过字符串格式化方式显示。
def get_even_indexed_chars(s):
# 使用列表推导式获取下标为偶数的字符
even_indexed_chars = [s[i] for i in range(len(s)) if i % 2 == 0]
# 使用join方法将列表中的字符连接成字符串
even_indexed_str = ''.join(even_indexed_chars)
# 使用字符串格式化方式显示结果
formatted_str = "下标为偶数的字符组成的新串是: {}".format(even_indexed_str)
return formatted_str
# 测试函数
input_str = "Hello, World!"
print(get_even_indexed_chars(input_str))
2、编写程序,生成一个由15个不重复的大小写字母组成的列表。
import random
import string
def generate_unique_letters_list(num_letters=15):
# 创建一个包含所有大小写字母的集合
all_letters = set(string.ascii_letters)
# 如果要生成的字母数量超过了集合中的字母总数,则抛出异常
if num_letters > len(all_letters):
raise ValueError("Cannot generate a list with more unique letters than available in the set of all letters.")
# 从集合中随机选择指定数量的字母,并转换为列表
unique_letters_list = random.sample(all_letters, num_letters)
return unique_letters_list
unique_letters_list = generate_unique_letters_list()
print(unique_letters_list)
3、给定字符串"site sea suede sweet see kase sse ssee loses",匹配出所有以s开头、e结尾的单词。
import re
# 给定的字符串
s = "site sea suede sweet see kase sse ssee loses"
# 使用正则表达式匹配以's'开头并以'e'结尾的单词
matches = re.findall(r'\bs\w*e\b', s)
# 打印所有匹配的单词
for match in matches:
print(match)
4、生成15个包括10个字符的随机密码,密码中的字符只能由大小写字母、数字和特殊字符“@”“$ ”“#”“&”“ ”“~”构成。
import random
import string
# 定义字符集
characters = string.ascii_letters + string.digits + '@$#~& '
# 生成随机密码的函数
def generate_password(length):
return ''.join(random.choice(characters) for i in range(length))
# 生成15个包含10个字符的随机密码
passwords = [generate_password(10) for _ in range(15)]
# 打印密码
for i, password in enumerate(passwords, 1):
print(f"密码{i}: {password}")
5、给定列表x=["13915556234","13025621456","15325645124","15202362459"].检查列表中的元素是否为移动手机号码,这里移动手机号码的规则是:手机号码共11位数字;以 13开头,后面跟4、5、6、7、8、9中的某一个;或者以15开头,后面跟0、1、2、8、9中的某一个。
def is_mobile_phone_number(number):
# 校验手机号码长度是否为11位
if len(number) != 11:
return False
# 校验手机号码是否只包含数字
if not number.isdigit():
return False
# 提取手机号码的前两位
prefix = number[:2]
# 校验手机号码前缀
if prefix == '13' and number[2] in '456789':
return True
elif prefix == '15' and number[2] in '01289':
return True
else:
return False
# 给定的手机号码列表
x = ["13915556234", "13025621456", "15325645124", "15202362459", "15302362459"]
# 检查结果
valid_numbers = [num for num in x if is_mobile_phone_number(num)]
invalid_numbers = [num for num in x if not is_mobile_phone_number(num)]
print("有效手机号码:", valid_numbers)
print("无效手机号码:", invalid_numbers)