位运算:基于二进制的运算 -----计算机的最小单位bit
8bit=1byte(字节)
讲了二进制相加减
计算机底层的运算是基于补码运算
计算溢出后要舍弃最高位
位运算:
&:俩真则真,一假则假
|:两假为假,一真则真
^异或:相反为真,相同为假
~按位取反,包含符号位,计算结果为补码,需要计算源码
>>将使二进制表示的数向右移动n位 除以2的n次方
*<<*使二进制表示的数向左移动n位,乘2的n次方
c
三元运算符:条件成立时的代码 if 判断 else 条件不成立时的代码
a = int(input(“请输入数字:”))
print(“你成年了”)if a>18 else print(“就这”)
-
程序结构
-
顺序结构
-
选择结构
if 关键字
最简单的if语句:
if表达式:
代码1
-
循环结构
对于 if else 要严格控制缩进
三种情况以上,使用if ……elif……eilf……else
if嵌套
判断闰年
year = int(input(“输入年份:”))
if year % 4 == 0:
if year % 100 == 0:
if year % 400 == 0:
print(“是闰年”)
else:
print(“不符合year % 400 == 0”)
else:
print(“不满足year %100==0”)
else:
print(“不满足ear % 4 ==0”)
索引
正向索引:字符串的索引是从0开始的。也就是说,字符串中的第一个字符的索引为0,第二个字符的索引为1,依此类推。
负数索引:使用负数索引来从右向左访问字符串。字符串的最后一个字符的索引为-1,倒数第二个字符的索引为-2,以此类推。
字符串的切片
string[start:end**😗*step]
sname:要操作的序列名称s
start:于指定切片的开始位置(包含在切片中),不指定默认从0开始
end:于指定切片的结束位置(不包含在切片中),如果不指定的话,默认是序列的长度
step:表示切片的步长,如果省略;
判断是否为回文
a = input(“请输入一句话:”)
if a[:] == a[::-1]:
print(“这是一个回文”)
else:
print(“bushi”)
列表
list [元素1,元素2,元素3,元素4,……]
列表里边的元素数据类型可以不相同,列表可以相互嵌套
假设你有一个名为 my_list
的列表,你可以使用索引来访问其元素
my_list = [1, 2, 3, 4, 5]
# 获取第一个元素(索引为0)
first_element = my_list[0]
print(first_element) # 输出: 1
# 获取第三个元素(索引为2)
third_element = my_list[2] print(third_element) # 输出: 3
# 获取最后一个元素(使用负数索引-1)
last_element = my_list[-1] print(last_element) # 输出: 5
获取一个列表中元素的数量,也可以使用 len()
函数:
my_list = [1, 2, 3, 4, 5]
length = len(my_list) print(length) # 输出: 5
list列表里边的数可以改变,重新赋值
list[1]=“************”
列表的加法和乘法
加法:
将两个列表合并为一个新的列表,其中包含了两个列表中所有的元素
list1 = [1, 2, 3]
list2 = [4, 5, 6]
new_list = list1 + list2
print(new_list)
# 输出: [1, 2, 3, 4, 5, 6]
乘法:
将列表中的所有元素重复指定次数,构造一个新的列表
my_list = [1, 2, 3]
new_list = my_list * 3
print(new_list)
# 输出: [1, 2, 3, 1, 2, 3, 1, 2, 3]