Python课(第二天) 付永康(老师) 2022年8月23日(星期二)晴
今日重点:1.运算符 2.简单的数据类型转换 3.分支结构 4.多分支结构 5.嵌套分支 6.三目运算符
昨日回顾:
1、python起源、能做什么等
2、注释:单行注释和多行注释
3、变量:数据的载体:变量可以保存任意类型数据
python中常见数据类型:整型(int) 浮点型(float)、复数(complex)、 布尔(bool)、空值(None Type)
容器型数据类型:字符串(str)、列表(list)、元组(tuple)、集合(set)、字典(dict)
4、输入与输出
input、print
5、Marlkdown语法
一、运算符
# Python中常用的运算符:算术运算符、比较运算符、逻辑运算符、赋值运算符、成员运算符等
# 算术运算符:+(加)、-(减)、*(乘)、/(除法)、//(整除)、**(幂运算)、%(模运算、取余)
a = 10
b = 2
print(a + b)
print(a - b)
print(a * b)
# Python中的除法运算得到的结果永远是浮点数
print(a / b)
# 整除:将除法运算的结果去掉小数部分(向小取整:获取小于等于N的最大整数)
print(10 // 2)
print(10 // 3)
print(10 // 4)
# %:取余
print(10 % 3)
# **:幂运算:幂运算开N次方结果永远为浮点型
# sqrt():开平方,sqrt必须从math数学模块中导入,只要程序导入模块,必然会对性能产生影响
print(10 ** 2)
print(100 ** 0.5)
# 比较运算符:>(大于)、<(小于)、>=(大于或等于)、<=(小于或等于)、==(等等于)、!=(不等于)
# 比较运算结果为布尔值True、False
# 10 == 10.0,数值相等数据类型不相等(只指代整型和浮点型),结果为True
a = 10
b = 2
print(a > b)
print(a >= b)
print(a != b)
print(10 == 10.0)
print(10 == '10')
print('_______________华丽的分隔符________________')
# 逻辑运算符:and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
# and用法:条件1 and 条件2,判断两个条件是否都成立,两者都成立,结果为True,反之,结果为False;
# 中断操作:如果条件1为False,不需要再判断条件2,整体为False。
print(3 > 2 and 2 != 1)
print((3 > 2 and 2 != 1) and 2 == 2 and 1 == 0)
print(True and True)
print(True and False, False and True, False and False)
print('_______________华丽的分隔符________________')
# or用法:条件1 or 条件2,判断两个条件中是否存在成立条件,两个条件都不成立结果为False,反之为True。
# 中断操作:如果条件1为True,不需要再判断条件2,整体为True。
# 单独的数字也能作为条件,0代表False,非0代表True
print(3 > 2 or 2 != 2)
print(3 < 2 or 0)
# not:取反
print(not True)
print('_______________华丽的分隔符________________')
# 练习:判断一个年份是否是闰年。
# 条件:年份能够被4整除但是不能被100整除,或者年份能被400整除。
# 地球公转365天5小时40分钟,每过四年约等于多1天,每过400年多加3天,从第100、200、300年各减掉一天。
year = 400
year = 2000
year = 2001
print((year % 4 == 0 and year % 100 != 0) or year % 400 == 0)
# 赋值运算符:+=(加等于)、-=(减等于)、*=(乘等于)、/=(除等于)、//=(整除等于)、**=(幂运算等于)、%=(取余等于)
# 作用:给一个已经存在的变量赋值
x = 100
x += 2 # 等价于x = x + 2
x *= 2
x //= 4
print(x)
# 复合赋值运算符
x += x * 3 # x = x + (x * 3)
print(x)
# 运算符优先级
# A.算术运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
# B.有小括号先算小括号的
# C.** > *、/、//、% > +、-
# 练习:给定一个半径r,计算圆的面积和周长。
# pi = 3.14
import math
# print(math.pi)
r = 3
# round(数值,小数位数),四舍五入将数值保留指定位数的小数,如果数值的小数位数不够,不做修改。
area = round(math.pi * r ** 2, 2)
peimeter = round(2 * math.pi * r, 2)
print(area, peimeter)
二、简单的数据类型转换
# 数值、布尔值、空值转换
# 一、注意:所有的数据类型后面添加小括号()能够变成对应的数据类型转换方法----构造器语法。
# 整型(int):什么样的数据能够转成整型?
# 1.浮点型能够转整型
print(int(1.9), int(2.0))
# 2.去掉引号就是一个整数的字符串能够转为整型
print(int('123'),type(int('123')))
# print(int('12.3'))# ValueError: invalid literal for int() with base 10: '12.3'
# 3.布尔值可以转整型。True -> 1; False -> 0
print(int(True),int(False))
# r =int(input('请输入半径:‘)
# area = 3.14 * r **2
# print(area)
# 三、浮点型(float):什么样的数据能够转成浮点型?
# 1.整型能够转为浮点型
print(float(10))
# 2.去掉引号就是一个数字的字符串能够转为浮点型
print(float(1.0),float(2.0),float('9'),float('4'))
# 3.布尔值可以转浮点型。 True -> 1.0, False -> 0.0
print(float(True),float(False))
# 四、布尔(bool): 什么样的数据能够转为布尔值?
# 所有的数据都可以转为布尔值。
# 0,,0.0,None,'',"",[],(),{}(字典),set()(集合)转为False
# 其余数据都转为True.
# 并且不是所有的数据类型都可以相互转换。
三、分支结构
# 分支结构
# 能够使程序在某个节点做选择。
# 使用到的python系统关键字:if、else、elif
# userName = input('请输入账号:')
# password = input('请输入密码:')
# if userName == 'admin' and password == '123456':
# print('登陆成功')
# else:
# print('账号或密码错误')
# 一:单分支结构
'''
语法:
if 条件:
代码块
else:
代码块
'''
# 练习:判断一个年份是否是闰年,是返回闰年,否返回平年。
# print('--------------------')
# year = int(input('请输入年份'))
# # if ( (year % 4 == 0 and year % 100 != 0)or year % 400 == 0):
# print('此年份是闰年')
# else:
# print("此年份不是闰年")
# A = 10
# if (A>8):
# print('是')
# else:
# print('否')
# 练习:判断一个年份是否是闰年,是返回闰年,否返回平年。
year = int(input("请输入一个年份:"))
if (year % 4 == 0 and year % 100 !=0)or(year % 400 ==0):
print('闰年')
else:
print('平年')
四、多分支结构
# 多分支结构
# year = 2000
# if year % 4 == 0 and year % 100 != 0:
# print('闰年')
# elif year % 400 == 0:
# print('闰年')
# else:
# print('平年')
#
'''
语法:
if 条件:
代码块
elif 条件:
代码块
elif 条件:
代码块
...........
else:
代码块
'''
# 分支结构中else语句合适的情况下可以不写。
# 练习:有一个成绩,如果成绩大于等于90,为等级A; 大于等于80,为等级B,
# 大于等于70,为等级C,大于等于60为等级D,反之为等级E。
A=float(input('请输入成绩:'))
if int(A)>=90:
print('A')
elif int(A)>=80:
print("B")
elif int(A)>=70:
print('C')
else:
print('D')
五、嵌套分支
# 嵌套分支:
# 单分支和多分支结构可以相互嵌套。
# 练习:一个整数,判断其是不是2的倍数,如果是2的倍数,在判断其是不是3的倍数。
number = 10
number = 12
if number % 2 ==0:
print('是2的倍数')
if number % 3 == 0:
print('是3的倍数')
else:
print('不是2的倍数')
六、三目运算符
# 三目运算符
# 作用:对单分支结构做简化(简写),性能不会产生改变。
age = 18
if age >= 18:
print('成年')
else:
print('未成年')
# 三目运算符写法:
result = "成年" if age >= 18 else "未成年"
print(result)
'''
语法:
结果1 if 条件 else 结果2
如果条件成立结果为结果1,否则为结果2。
注意:并不是所有的单分支结构可以转三目运算符。
'''