import random
import string
# 定义生成随机密码的函数
def generate_password(length):
characters = string.ascii_letters + string.digits
password = ''.join(random.choice(characters) for i in range(length))
return password
# 生成10个包括大写字母、小写字母和数字的随机密码,每个密码8个字符
passwords = [generate_password(8) for _ in range(10)]
# 打印生成的密码
for password in passwords:
print(password)
import random as r
k=[chr(65+i)for i in range(0,26)]
k.extend([chr(i)for i in range(97,123)])
k.extend([str(i)for i in range(0,10)])
for i in range(10):
print("".join(r.sample(k,8)))
第一节课作业,生成随机数并删除重复数
import random
# 生成随机整数列表
random_numbers = [random.randint(1, 100) for _ in range(60)] # 这里生成了10个范围在1到100之间的随机整数
# 输出随机整数列表
print("随机整数列表:", random_numbers)
# 计算整数个数
count = len(random_numbers)
print("整数个数:", count)
# 去除重复的整数
unique_numbers = list(set(random_numbers))
# 输出去重后的整数列表
print("去重后的整数列表:", unique_numbers)
增加需求就是增加函数功能
import random
# 生成随机整数列表
random_numbers = [random.randint(1, 100) for _ in range(60)] # 这里生成了10个范围在1到100之间的随机整数
# 输出随机整数列表
print("随机整数列表:", random_numbers)
# 计算整数个数
count = len(random_numbers)
print("整数个数:", count)
# 去除重复的整数
unique_numbers = list(set(random_numbers))
#检测有几个重复的函数功能
def has_duplicates(lst):
seen = {}
max_count = 0
max_element = None
for item in lst:
if item in seen:
seen[item] += 1
else:
seen[item] = 1
if seen[item] > max_count:
max_count = seen[item]
max_element = item
if max_count > 1:
print("重复出现次数最多的元素:", max_element)
print("重复次数:", max_count)
return True
else:
return False
# 输出去重后的整数列表
print("去重后的整数列表:", unique_numbers)
my_list = random_numbers
result = has_duplicates(my_list)
print("是否有重复元素:", result)
3*3矩阵转换为一个列表,列表只保留偶数
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# 使用列表推导来提取偶数并创建一个包含偶数的新列表
even_numbers = [num for row in matrix for num in row if num % 2 == 0]
print(even_numbers)
ABC和123生成A1A2
str1 = "ABC"
str2 = "123"
result = ""
for char1 in str1:
for char2 in str2:
result += char1 + char2
print(result)
生成随机数并读写进文件里:
import random
f=open('figure.txt','w',encoding='utf-8')
n=random.randint(50,150)
for i in range(n):
num=str(random.randrange(100,408))
f.write(num)
if i<n-1:
f.write(',')
f.close()
f=open('figure.txt','r',encoding='utf-8')
p=open('figure1.txt','w',encoding='utf-8')
b=f.read()
b=b.split(',')
#b.sort()
print(b,len(b))
#print(b)
#c=set(b)
#print(c,len(c))
排队:
import random
import string
num, k = list(map(int,input().split()))
person = []
##for i in range(num):
# person.append(input().split())
person = [[''.join(random.sample(string.ascii_letters,5)),random.randrange(145,198)]for i in range(num)]
order = sorted(person, key=lambda x:(-int(x[1]),x[0]))
print(order)
hang, last = num // k,num // k + num % k
b = []
rownum = 0
for i in range(num):
if rownum % 2 == 0:
b.append(order[i][0])
else:
b.insert(0,order[i][0])
rownum += 1
if rownum == last:
print(' '.join(b))
last = hang
b = []
rownum = 0
1048加密?
数字
加密。首先固定一个加密用正整数
A
,对任一正整数
B
,将其每一位数字与
A
的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对
13
取余(用
J
代表
10
,
Q
代表
11
,
K
代表
12
);对偶数位,用
B
的数字减去
A
的数字,若结果小于
0
,则再加
10
,这里令个位为第
1
位。说明:输入一行中依次给出
A
和
B
,均为不超过
100
位的正整数,其间以空格分隔。
a = input().split()
str1 = ""
str2 = ""
if len(a[0])>=len(a[1]):
x = a[0]
y = (len(a[0])-len(a[1]))*'0'+a[1]
else:
x = a[0]
y = a[1][len(a[1])-len(a[0]):]
str1 = a[1][:len(a[1])-len(a[0])]
x = x[::-1]
y = y[::-1]
for i in range(len(x)):
if (i+1)%2!=0:#奇数位
n = (int(x[i])+int(y[i]))%13
if n==10:
str2 = 'J' + str2
elif n==11:
str2 = 'Q' + str2
elif n==12:
str2 = 'K' + str2
else:
str2 = str(n) + str2
else:
n = int(y[i])-int(x[i])
if n<0:
n+=10
str2 = str(n) + str2
print(str1+str2)