python蓝桥杯备赛

    input().strip():读取输入并去掉首尾空白字符

    f"{per_person:.3f}":格式化输出,保留三位小数。

   f"{area:.2f}" : 格式化输出,保留两位小数 f"{area:.2f}"

   departure = 8 * 60 - minutes - (1 if seconds > 0 else 0):计算出发时间(如果秒数大于0,多减1分钟)

    f"{hour:02d}:{minute:02d}":格式化输出时间:小时和分钟通常需要保持两位数格式

->用0填充不足的位数,总宽度为2位

一.数字反转:

n = "12345"
reversed_n = ''.join(reversed(n))
print(reversed_n)  # 输出:54321

1.切片

a=input().strip()
print(a[::-1])

    start 和 stop 都未指定,表示从序列的开头到结尾。
    step = -1:表示从后向前遍历序列

2.使用reversed函数

n = "12345"
reversed_n = ''.join(reversed(n))
print(reversed_n)  # 输出:54321

' '.join(...) :将迭代器中的字符迭代成字符串

reversed() :返回一个反转的迭代器

3.使用循环

n = "12345"
reversed_n = ''
for char in n:
    reversed_n = char + reversed_n
print(reversed_n) 

count = sum(1 for apple in apples if apple <= height): 

            遍历苹果高度列表,统计能够摘到的苹果数量。

二.sum函数

->sum() 1.经常与生成器表达式一起使用,用于对满足条件的元素求和。

numbers = [1, 2, 3, 4, 5]
total = sum(x for x in numbers if x % 2 == 0)
print(total)  # 输出:6

              2.计算字符串中字符的 ASCII 码总和 (ord(c) 返回字符 c 的 ASCII 码)

s = "hello"
total = sum(ord(c) for c in s)
print(total)  # 输出:532

              3.计算二维列表的总和

matrix = [[1, 2], [3, 4], [5, 6]]
total = sum(sum(row) for row in matrix)
print(total)  # 输出:21

    ->sum(row) for row in matrix 计算每一行的总和,生成一个包含每行总和的生成器。
    ->sum() 计算所有行的总和。

三.replace函数


isbn = input().replace('-', '')  # 输入ISBN号码并去掉横线

->replace()函数详解见上一篇

    x = (x % 7) + 1  # 更新星期

    a, b, c = sorted(map(int, input().split())):输入三个数并排序。  (我爱python!)

四.lambda(关键字)

        创建匿名函数(即没有名字的函数)。它通常用于简化代码,特别是在需要短小函数的地方

 

如何输出最简分数(利用lambda定义最大公约数函数)

gcd_value = lambda x, y: x if y == 0 else gcd_value(y, x % y)  # 定义最大公约数函数
gcd_ab = gcd_value(a, c)  # 计算a和c的最大公约数
print(f"{a // gcd_ab}/{c // gcd_ab}")  # 输出最简分数

--递归逻辑
基线条件(Base Case):如果 y == 0,直接返回 x(因为任何数和 0 的最大公约数是它本身)。
递归步骤:否则,计算 x % y(x 除以 y 的余数),并将 y 和余数作为新参数递归调gcd_value。
--欧几里得算法:
这是经典的 辗转相除法,通过反复取余数来缩小问题规模,直到余数为 0。

五.min_cost = float('inf')  # 初始化为无穷大 

        在 Python 中,float('inf') 表示一个无限大的浮点数(正无穷大)

最少花费,最小,最多.....:一般都要采用遍历

六.  ' '.join(...)  :

        用空格 ' ' 作为分隔符参数需为字符串序列

        如果列表中有非字符串元素(如整数),需先用 map(str, ...) 转换。

        将 map(str, result) 生成的字符串列表拼接成一个字符串。

nums = list(map(int, input().split()))
order = input().strip()

sorted_nums = sorted(nums)
mapping = {'A': sorted_nums[0], 'B': sorted_nums[1], 'C': sorted_nums[2]}

result = [mapping[ch] for ch in order]
print(' '.join(map(str, result)))

你可能感兴趣的:(python,蓝桥杯)