跳转至

列表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()  # 每行结束后换行