1.运算符一
-
算术运算符
# 加法 a = 999 b = 123456 result = a + b print(result) # 减法 max_number = 9999999 min_number = -1111111 result = max_number - min_number print(result) result = b - a print(result) # 乘法 print(55*66) # 除法 print(9999/2) # 幂运算 10.24 程序员节日 print(2**10) # 取商运算符 print(5//2) print(7//2) # 取余数运算符 print(5 % 2) print(7 % 2)
-
比较运算符
# 1.< 小于符号, 判断前边的值是否小于后边, 如果成立 则输出True, 否则输出False m = 56 n = 65 # True 真 print(m < n) # 2.> 大于符号, 判断前边的值是否大于后边, 如果成立 则输出True, 否则输出False # False 假 print(m > n) ''' 布尔值(bool), python 布尔类型数据 True, False ''' # = 赋值符号, # 3.== 判断左右两个值是否相等. != 判断左边不等于右边 print("判断m和n是否相等: ", m == n) """ True == 1 结果为真 False == 0 结果为真 计算机 底层 是 0 1 数字1 是整型, 字符串 '1' 是字符串 """ print(True==1) print(False==0) print(1 == '1') # 4.>= 判断左边是否大于等于右边, 1 >= 1 print(1 >= 1) # 5.<= 判断左边是否小于等于右边, 1 <= 1 print(1 <= 1)
-
赋值运算符
# 1. = 将右边的值赋给左边 name = "周瑜" name2 = name print(name) print(name2) # 2. += a += 1 相当于 a = a+1 a = 12 a += 1 b = 10 print(a) # b += a 相当于 b = b+a b += a # b 23 a 13 print(b) # 3. -= a -= b 相当于 a = a-b b -= a # b 10 a 13 print(b) # 代码中 从上往下执行, 中间的变量经过计算会发生数值的变化. # 4. *= a *= b 相当于 a = a*b # /= a /= b 相当于 a = a/b b *= a print("------------分割线-----------------") print("b结果是: ", b) b /= a print("b =", b) print("a =", a) # 5. %= 取余赋值运算符 a %= b 相当于 a = a%b a %= b print("b =", b) print("a =", a) # 6.//= 取商赋值运算符 a //= b 相当于 a = a//b a //= b print("b =", b) print("a =", a) # 7.**= 幂赋值运算符 a **= b 相当于 a = a**b a **= b print(a) # 运算中数值带有小数点, 结果必然有小数点. 结果是浮点数. a = 5 b = 3 a %= b print(a)
2.判断语句
-
第一种判断方式: if 判断条件
# 判断成绩 # input() 键盘输出的是 str类型数据 , 字符串 # mark = input("请输入您的成绩: ") mark = 72 print(mark) # type() 输出变量数据类型 print(type(mark)) # float() 做了一个数据类型转换. mark = float(mark) print(type(mark))
# if 后边跟判断条件, 如果条件成立则执行if 下边的子语句(代码块) """ python编程代码格式要求: 缩进(一个tab键, 默认四个空格)要求严格 """ # 缩进表示不同的层级. 后边缩进 比前边缩进的多, 则说明前边对后边有包含关系. if mark >= 72: # 缩进相同, 则表示代码之间是同级的, 从上往下执行, print("恭喜你及格了!") print("继续努力!")
-
第二种判断方式: if 判断条件 else 代码块
# if .... else...... if 后条件成立, 则if 的子语句被执行, else(mark <90) 当 mark 满足小于90的条件, 则else的子语句执行. # mark = "abc" 当mark变量赋值一个字符串, if 条件无法比较 字符串与 数字 会发生错误 mark = 56 if mark >= 90: print("你的成绩很优秀!") else: print("继续努力, 向着高成绩前进!")
-
第三种判断方式: if 判断条件 elif 判断条件 else 代码块
# if .... elif .... elif ....else # if 判断条件 elif 判断条件 ..... else 除了以上判断条件之外的情况. mark = float(input("请输入您的成绩: ")) print("你输入的成绩是: ", mark) if 0 <= mark < 60: print("不及格! D 等级") elif 60 <= mark < 80: print("及格了, C 等级") elif 80 <= mark < 90: print("及格了! B 等级") elif 90 <= mark < 100: print("恭喜你! A 等级") elif mark == 100: print("恭喜你满分!") else: print("成绩输入错误!") sex = "男" if sex == "男": print("你好帅啊!") elif sex == "女": print("你好漂亮!") else: print("输入错误!")
3.运算符二
-
逻辑运算符
# 1.and(与), 条件一 and 条件二, 当条件一和条件二同时满足, 则结果为True(整体条件成立) , 如果两个条件任何一个不满足, 则为False(整体条件不成立) mark1 = 70 mark2 = 50 # mark1 > 60 and mark2 > 60 代码处理成 True 或者 False 交给 if 判断 if mark1 > 60 and mark2 > 60: print("真") else: print("假") if mark1 >= 60 and mark2 >= 60: print("你表现很好, 全部及格") print("真") elif mark1 < 60 and mark2 < 60: print("你全部不及格, 补考吧!") print("真") else: print("你有一门不及格") print("假") # 2.or(或), 左右两个条件, 当其中一个条件成立, 则结果为真, 结果成立 if mark1 < 60 or mark2 < 60: print("成立") else: print("不成立") # 3.not(非), if not mark1 < 60: print("及格了!") if not mark2 < 60: print("及格了!") else: print("不及格") if not mark2 == 60: print("mark2 != 60")
-
成员运算符
# 1.in(在里面) 判断 左边是否在右边包含着, 条件成立结果为True, 条件不成立结果为False string = "欢迎来到王者峡谷." if "王者" in string: print("你玩的是王者荣耀.") else: print("结果为假, 条件不成立") # 2.not in (不在里面), 判断 是否不在里面. if "召唤师" not in string: print("你玩的不是英雄联盟.") else: print("条件不成立")
-
关系运算符
# == 主要是判断数值相同 # 1.is(是), 判断 前者跟后者是否相同, 主要是判断是不是同一个对象, 相同对象id相同. name = "夏洛特" hero = "夏洛特烦恼" name2 = "夏洛特" # id()函数: 可以输出变量地址 print("打印name变量地址", id(name)) print("打印name2变量地址", id(name2)) print("打印hero变量地址", id(hero)) if name is name2: print("结果成立") else: print("结果不成立") # 2.is not 判断前者不是后者, 判断不是同一个对象 if name is not hero: print("True") else: print("False")
4.判断语句案例
判断输入的数是否是水仙花数(是一个三位数,个位,十位,百位的立方 和 等于这个数)
如:13 + 53+ 3**3 = 153
153,370,371,407
9 + 49*7 = 370
number = 153
# 第一个数 // 商 余数: 二三位
one = number // 100 # 1
# remainder 余数
remainder = number % 100 # 53
print("第一位数: ", one)
print(remainder)
# two_three 17
two = remainder // 10 # 5
three = remainder % 10 # 3
print("第二位数: ", two)
print("第三位数: ", three)
# one**3 + two**3 + three**3 == number 条件成立 就是水仙花数
if one**3 + two**3 + three**3 == number:
print(f"{number} 是水仙花数")
else:
print(f"{number} 不是水仙花数")
判断一个数是否为奇数, 是否为偶数
odd_number = 0
# 判断数字奇(odd_number)偶(even_number)性
if odd_number % 2 == 0:
print(f"{odd_number} 是偶数")
else:
print(f"{odd_number} 是奇数")
if odd_number % 2 == 1:
print(f"{odd_number} 是奇数")
else:
print(f"{odd_number} 是偶数")
判断回文数: 1221, 1331, 2332, 5665, 7887, 偶数个 4位数, 6位数 , 对称.
for num in range(1000, 10000):
before_num = num // 100 # 12
after_num = num % 100 # 21
one = before_num // 10 # 1
two = before_num % 10 # 2
three = after_num // 10 # 2
four = after_num % 10 # 1
if one == four:
if two == three:
print(f"{num}是回文数")
判断闰年
-
四年一闰年, 百年不闰年
-
四百年一闰年
世纪年: 判断条件, 能被4整除, 不能被100整除, 能被四百整除.
year = 2120
# != 不等于符号
# year % 4 == 0 and year % 100 != 0 同时满足 被4整除和不能被100整除为True
# year % 400 == 0 满足能被400整除, 条件成立为True.
# or 只要其中一个条件成立就为 True
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print(f"{year} 是闰年!")
else:
print("不是闰年!")
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(year, "是闰年")
else:
print(year, "不是闰年")
years = int(input("请输入查询的年份: "))
if years % 4 == 0 and years % 100 != 0:
print(years, "普通闰年")
elif years % 400 == 0:
print(years, "是世纪闰年")
else:
print("不是闰年")