a = int(input("请输入数字:"))
if a%3==2 and a%5==3 and a%7==2:
print("正确")
else:
print("错误")
a = int(input("请输入一个数字:"))
if a%3 == 2:
if a%5 == 3:
if a%7 == 2:
print("正确")
else:print("a%7 == 2 不满足")
else:print("a%5 == 3 不满足")
else:print("a%3 == 2 不满足")
a = int(input("请输入一个年份:"))
if a%4 == 0:
if a%100 == 0:
if a%400 == 0:
print("是闰年")
else:
print("不是闰年")
else:
print("不是闰年")
else:
print("不是闰年")
三目运算符
三元运算符:条件成立时的代码 if 判断 else 条件不成立时的代码
程序结构:
循序结构:
选择结构:
if 关键字
最简单的if语句:
if表达式:
8,位运算符(基于二进制的运算)
计算机的底层基于位运算的
&:两真则真,一假则假
8&9 0000 1001
0000 1000
------------
0000 1000
|或:两假为假,一真则真
8|9 0000 1001
^异:相反为真,相同为假
8^9 0000 0001
~ 按位取反,包含符号位
~3:
>>:右移:相当于除以2的n次方(右移位数)
8>>2:0000 1000 8/2*2=2
0000 0010
<<:左移:相当于乘以2的n次方(左移位数)
8<<2:0000 1000 8成2*2=32
0010 0000
字节1byte=8bit
8为符号位,1代表负数,0代表正数
-3+2
1000 0011 + 0000 0010
=1000 0101
=-5???
补码,原码,反码三个概念--------为了解决负数运算问题
原码:数值标准的二进制位
反码:符号位不变,其余位取反
补码:反码+1
-3+4
-3 1000 0011 1111 1100 1111 1101
4 0000 0100
1 0000 0001
正数不存在反码,补码,计算机底层的运算是基于补码
索引:正向索引:下标从0开始 负向索引:下标从-1开始(最后一位)
字符串的切片:sname[start:end:step] 左闭右开
s=nanhuang(0 1 2 3 4 5 6 7)
s[0:3] >>> nan(0 1 2)
sname:要操作的序列名称
start:表示切片的开始的位置(包含自身),如果不去指定的话,默认从0开始
end:表示切片的结束的位置(不包含自身),如果不去指定的话,默认是序列的长度
step:表示切片的步长,如果省略,默认为1
s[ : ] 切片切的是整个字符串
nanhuang:步长为2,nnag 0 1 2 3 4 5 6
s[:: -1] 字符串反转
s=input("请输入一句话:")
if s[ : ]==s[::-1]:
print("是回文")
else:
print("不是回文")
"我是我" "是回文"
"我是谁" "不是回文"
索引:正向索引:下标从0开始 • 负向索引:下标从-1开始(最后一位)
列表:list [元素1,元素2,元素3,元素4,]
例子:[1,2,3,"hhahudhau",[3,4,5]]
列表里的元素数据类型可以不相同,列表可以相互嵌套
列表的数组下标从0开始
list列表里边的数可以改变 重新赋值
列表里的加法和乘法
例子
list = [1,2,3,4,"jidasjida",[7,2,1,3]]
print(len(list))
list[1] = "jidasjida"
print(list)
list_1 = [1,2,3,4]
list_2 = [2,4,3,4]
list_3 = list_1 + list_2
print(list_3)
print("我是谁"*10)
append()向链表尾部追加元素
onsert(位置,追加的元素)向指定位置追加元素
sort()列表排序(只能排int)字母按照ASCII之进行排序,类型不能混淆
index:查找元素第一次在列表中出现的位置,如果没有这个元素则会
reverse():将列表元素顺序翻转
remove():通过元素来移除元素,如果元素不存在则抛出异常
count():统计元素在列表中的个数
clear():清除元素
copy():浅拷贝对象(拷贝)不等价于 = (引用传递),在堆内存中进行对象拷贝
extend():合并列表
pop():与append()相反删除最后一个元素
del():删除=
例子del(list[1])
del[list[1]]