上周开始了蓝桥杯python算法课程的学习,前几部分都是python算法基础,无非是一些加减乘除的运算,但还是需要牢记。在这里总结一些我自己容易遗忘或记错的语法。
一. 算数运算符
- 加 两个对象相加 a+b 输出结果为...
- 减 得到负数或是一个数减去另一个数 a-b 输出结果为...
- 乘 两个数相乘或是返回一个被重复若干次的字符 a*b 输出结果为...
/ 除 b/a 的结果为...
// 取整除 返回商的整除部分 9//2 输出结果为 4 ,9.0//2.0 的输出结果为 4.0
% 取余 返回除法的余数 b%a 例 9%2 输出结果为 1
** 指数 a**b 为 a 的 b 次方
二.lambda匿名函数
函数定义中
- def 关键字,可以定义带有名称的函数
- lambda 关键字,可以定义匿名函数(无名称)
有名称的函数,可以基于名称重复使用。
无名陈的匿名函数,只能临时使用一次。
匿名函数定义语法:
lambda 传入参数: 函数体(一行代码)
- lambda 是关键字,表示定义匿名函数
- 传入参数表示匿名函数的形式参数,如: x,y 表示接收2个形式参数
- 函数体,就是函数的执行逻辑,要注意:只能写一行,无法写多行代码
三.一行输入多个数字
在做题的过程中会遇到很多需要一行输入许多数字的情况

假设我们需要输入的两个变量分别设为 a 和 b
a,b=map(int,input().split())
a, b = ...
- 解包赋值(unpacking)
- 将map对象的结果分别赋给变量a和b
map(int,...)
- map(函数, 可迭代对象)
- 对列表中的每个元素应用int()函数
- map(int, ['10', '20']) → 将每个字符串转换为整数
input()
- 从用户获取输入,返回一个字符串
.split()
- 将字符串按空格分割成列表
- 默认按空格分割,也可以指定其他分隔符
这样在终端赋值时只需要用空格将数字分开即可,例:10 20
四.range语句
range(num1,num2)
获取一个从 num1 开始,到 num2 结束的数字序列(不含 num2 本身)
例: range(5,10)取得的数据是:[5,6,7,8,9]
range(num1,num2,step)
获得一个从 num1 开始,到 num2 结束的数字序列(不含 num2 本身)
数字之间的步长,以 step 为准(step 默认为1)
例: range(5,10,2) 取得的数据是:[5,7,9]
对于个人经验而言,range语句最常出现在需要遍历数据的题目中,与常见形式为 for...in range(...,...)

此题代码如下:
点击查看代码
a,b=map(int,input().split())
number=0
for c in range(a,b+1):
if c%3==0:
number+=1
print(number)
在此题中 for c in range(a,b+1)
- 每次循环时,c取序列 range(a,b+1) 中的一个值
- c依次等于:a, a+1, a+2, ..., b
五.随机数
点击查看代码
import random
num = random.randint(1,100)
即定义变量 num 随机从 1~100 中取值
浙公网安备 33010602011771号