内容简介:
运算符与表达式 #
布尔类型的用法
关系运算符和逻辑运算符#
理解运算符的优先级#
使用if选择结构
表达式
- 表达式是:符号与操作数的组合
运算符
-
赋值运算符: " = "
-
算术运算符
-
关系运算符
-
逻辑运算符
-
逻辑运算符(布尔运算符):是在逻辑值上的运算并创建出一个新逻辑
-
示例:根据月份判断该月份天数
year = eval(input("请输入年份:")) month = eval(input("请输入月份:")) day_of_month = 0 # 建议将后面使用到的变量在程序的最上面进行赋初值操作 is_leap_year = year % 4 == 0 and year % 100 != 0 or year % 400 == 0 if month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month == 10 or month == 12: day_of_month = 31 elif month == 4 or month == 6 or month == 9 or month == 11: day_of_month = 30 elif month == 2: day_of_month = 28 if is_leap_year: day_of_month += 1 print(year, "年", month, "月一共有", day_of_month, "天")
-
运算符优先级和结合方向
- 运算符优先级和结合方向决定了运算符的计算顺序
布尔类型
-
布尔类型的取值是True / False,Python中使用1表示True,0表示False
- 非零数字转换为布尔值后是True
- 零数字转换为布尔值后是False
- 空字符串或None转为布尔值使False
-
比较运算符:比较的结果就是一个布尔值
#布尔类型建议使用is开头 - 命名规范 is_pighoof = True # 布尔类型赋值 print(type(is_pighoof)) # 打印is_pighoof变量的数据类型 print(not(is_pighoof)) # not 是取反
流程图简介
- 流程图是算法的一种图形化表示方式
- 示例
条件if结构
-
if 结构:先判断后执行
# 计算圆面积 # 1、接收用户输入圆半径; # 2、判断半径的值是否大于零; # 3、如果大于零,根据圆面积公式计算圆面积,否则显示输入错误; # 4、显示面积 radius = eval(input("请输入一个圆的半径:")) if radius >= 0: # 输入是合法的 area = 3.14 * radius ** 2 print("半径为{:.2f}的圆面积为:{:.2f}".format(radius, area)) else: # 输入不合法 print("输入的圆半径小于0,非法输入!") # 进阶:使用time模块的函数来判断当前日期 import time now = time.localtime() # 返回一个当前时区的时间对象(struct_time)类型的元组 print("当前时间", now) # month: 月份; mday: day of month; wday: day of week; yday: day of year print("{}-{}-{}".format(now.tm_year, now.tm_mon, now.tm_mday))
注意:Python用缩进格式判别语句中变量的作用域
多向if-elif-else结构
-
多向if结构
-
math、turtle库应用示例
# @功能描述:判断两点之间的距离 import math import turtle # 我们把题目改成:判断用户输入的某个点是否在某个圆内 # 1、我们要先指定一个圆心坐标(x1, y1)以及圆的半径(radius) # 2、再让用户输入需要判断的点坐标(x2, y2) # 首先指定一个要判断的圆半径和圆心点坐标 radius = 50 x1, y1 = 50, 50 # 让用户输入要判断点的坐标 x2 = eval(input("请输入要判断点的横坐标:")) y2 = eval(input("请输入要判断点的纵坐标:")) # ** -2 不能表示开平方!!! # ** 0.5 # 判断逻辑:判断圆心点和输入点的距离是否大于半径 distance = math.sqrt(math.pow(x1 - x2, 2) + math.pow(y1 - y2, 2)) print("您输入的坐标点与圆心相距:", distance) message = "" if distance > 50: message = "您输入的点在圆外侧!" else: message = "您输入的点在圆内侧" print(message) pen = turtle.Pen() # 获得画笔对象 pen.up() # 起笔 pen.goto(x1, y1) # 到达圆心点 pen.down() # 落笔 pen.dot(5, "blue") # 绘制一个蓝点 # 我们要根据圆心点画一个圆 - 难点:需要重新计算起笔 pen.up() pen.goto(x1, y1 - radius) pen.down() pen.circle(radius) # 绘制用户的点 pen.up() pen.goto(x2, y2) pen.down() pen.dot(5, "red") # 打印判断结果 pen.up() pen.goto(x2, y2 + 100) # y轴+100 向上移动 pen.write(message) turtle.done()