列表2
7-1 计算一组数据平均值、最大值、最小值
# 获取用户输入,并使用split()方法按空格分割成列表
n_str = input().split()
n = [int(x) for x in n_str] # 使用列表推导式将字符串列表转换为整数列表
sum = 0
# 遍历整数列表并累加
for y in n:
sum += y
# 计算平均值并打印
print(sum // len(n), end=" ")
# 打印最大值和最小值
print(max(n), end=" ")
print(min(n), end="")
7-2 Python-求最大值及其索引
# 读取用户输入,并按空格分割成字符串列表
n_str = input().split()
# 创建一个空列表来存储整数
n = []
# 遍历字符串列表,将每个字符串转换为整数并添加到n中
for x in range(len(n_str)):
n.append(int(n_str[x]))
# 找出列表中的最大值
max_num = max(n)
# 打印最大值
print(max_num, end=" ")
# 打印最大值的索引
print(n.index(max_num))
7-3 查找最后一个250
n = input().split()
where = -1 # 初始化where为-1,表示未找到
# 将字符串列表转换为整数列表
n = [int(x) for x in n]
# 从列表末尾开始查找250
for y in range(len(n) - 1, -1, -1): # 使用range的步长为-1来实现从后往前遍历
if n[y] == 250:
where = y
break # 找到后直接退出循环
# 输出结果
if where == -1:
print("0") # 如果没有找到,输出0
else:
print(len(n) - where) # 输出从开头到250的距离(即列表长度减去索引)
7-4 斐波那契数列
n = int(input())
fib = []
# 如果n大于0,添加第一个斐波那契数
if n > 0:
fib.append(1)
# 如果n大于1,添加第二个斐波那契数
if n > 1:
fib.append(1)
# 初始化前两个斐波那契数的和
sum1, sum2 = 1, 1
# 从第三个元素开始生成斐波那契数列
for _ in range(2, n):
sum3 = sum1 + sum2
fib.append(sum3)
sum1, sum2 = sum2, sum3
# 直接打印斐波那契数列列表
print(fib)
7-6 计算各对应位乘积之和
# 直接从用户输入获取两个数字字符串
n, m = input().split()
# 获取两个字符串的最大长度
len_str = max(len(n), len(m))
# 使用zfill方法将较短的字符串前补零至与较长字符串相同的长度
n = n.zfill(len_str)
m = m.zfill(len_str)
# 初始化结果变量
sum_ = 0
# 逐个字符相乘(转换为整数)并将结果累加
for x in range(len_str):
sum_ += int(n[x]) * int(m[x])
# 打印结果
print(sum_)
7-7 jmu-python-求单词长度
n = int(input())
word = []
for x in range(n):
word.append(input())
# 使用列表推导式在排序时同时获取长度和字符串
word_with_len = sorted([(len(w), w) for w in word])
# 遍历排序后的列表并打印元组(长度,字符串)
for length, string in word_with_len:
print((length, string))
7-8 计算方阵的和,创建新方阵
# 读取正整数 n
n = int(input())
# 读取方阵 a 的所有元素
input_a = input().split()
a = list(map(int, input_a))
# 读取方阵 b 的所有元素
input_b = input().split()
b = list(map(int, input_b))
# 创建一个一维数组 c 来存储结果
c = [a[i] + b[i] for i in range(n * n)]
# 输出方阵 c 的元素,模拟二维方阵的打印效果
for i in range(n):
for j in range(n):
index = i * n + j # 计算一维数组中的索引
print("{:>2}".format(c[index]), end=' ') # 输出元素并添加空格
print() # 每行结束后换行
7-9 jmu-python-随机生成密码
import random
# 读取随机数种子 x
x = int(input())
random.seed(x)
# 读取矩阵的行数和列数
n = int(input())
m = int(input())
# 初始化字符列表
ls = []
for y in range(97, 123): # 小写字母
ls.append(chr(y))
for y in range(65, 91): # 大写字母
ls.append(chr(y))
for y in range(48, 58): # 数字
ls.append(chr(y))
# 生成并打印密码矩阵
for a in range(n):
row = []
for b in range(m):
row.append(ls[random.randint(0, len(ls) - 1)])
# 打印当前行的字符
for c in row:
print(c, end="")
print() # 每行结束后换行