Day5 Python课程学习内容
1.条件运算符(三元运算符)
- 条件运算符在执⾏时,会先对条件表达式进⾏求值判断
- 如果判断结果为True,则执⾏语句1,并返回执⾏结果
- 如果判断结果为False,则执⾏语句2,并返回执⾏结果
- 语法: 语句1 if 条件表达式 else 语句2
举例:
print('python') if True else print('java')
# python
print('python') if False else print('java')
# java
a = 40
b = 20
print('a is bigger') if a > b else print('b is bigger')
# a is bigger
#求a和b之间的最大值
a = 30
b = 40
m = a if a > b else b
print('m = ',m)
# m = 40
2.运算符优先级
# 非布尔值得与或运算
a = 2 or 3 and 4
print(a)
# 2
# and 优先级于 or
- 可以打开python的docimentation的 The Python Language Reference > Expressions > Operator precedence中查看运算符的优先级
3条件判断
3.1条件判断语句(if语句)
- if语句在执行时,会先对条件表达式进行求值判断,
- 如果为True,则执行if后的语句
- 如果为False,则不执行
if True:print('hello')
# hello
if False:print('hello')
# 不返回值
num = 50
if num > 30:print('num比20大')
print('python')
# num比20大
# python
# 默认情况下,if语句只会输出紧跟后面的语句,即语句print('python')不受if控制
- 如果希望if 语句可以控制多条语句,则可以在if后面跟着一个代码块
- 代码块代码块中保存着一组代码,同一个代码块中的代码,要么都执⾏要么
都不执行 - 代码块以缩进开始,直到代码恢复到之前的缩进级别时结束
- 代码块就是一种为代码分组的机制
'''
语法
if 条件表达式:
代码块
'''
if True:
print('python')
print('java')
# python
# java
3.2 input()函数
- 接受一个输入数据,返回为str类型
- 举例1:
# 获取用户输入的名字
username = input('请输入用户名:')
# 判断用户名是否是 python
if username == 'python':
print('欢迎访问')
- 结果:
- 举例2:
# 让用户输入一个工资
value = input('请输入你的工资:')
# 如果用户的工资大于等于2000,就给与提示
if value >= 2000:
print('能养活自己了')
- 结果:
-类型错误:因为输入的3000为str类型,而非int类型,无法与2000进行比较 - 正确方式:
# 将输入的值先进行转化
# 让用户输入一个工资
value = int(input('请输入你的工资:'))
# 如果用户的工资大于等于2000,就给与提示
if value >= 2000:
print('能养活自己了')
结果:
3.3 if… else…语句
- 执⾏流程:
- if-else语句在执行时,先对if后的条件表达式进⾏求值判断
- 如果为True,则执行if后的代码块
- 如果为False,则执行else后的代码块
'''
语法
if 条件表达式:
代码块
else
代码块
'''
3.4 if…elif…else 语句
- 执⾏流程:
- if-elif-else语句在执行时,会自上向下依次对条件表达式进⾏求值判
断, - 如果表达式的结果为True,则执行当前代码块,然后语句结束
- 如果表达式的结果为False,则继续向下判断,直到找到True为止
- 如果所有的表达式都是False,则执行else后的代码块
- if-elif-else语句在执行时,会自上向下依次对条件表达式进⾏求值判
语法:
'''
if 条件表达式1:
代码块
elif 条件表达式2:
代码块
elif 条件代码块3:
代码块
...
else:
代码块
'''
- 举例1
value = int(input('请输入你的工资:'))
if value >= 30000:
print('有钱任性')
elif value >= 20000:
print('有钱真好')
elif value >= 10000:
print('哥也是月薪上万的')
elif value >= 5000:
print('工资还说的过去')
elif value >= 2000:
print('还能养活自己')
else:
print('你该加油了')
-
结果为:
-
其他情况
value = int(input('请输入你的工资:'))
if value >= 2000:
print('还能养活自己')
elif value >= 5000:
print('工资还说的过去')
elif value >= 10000:
print('哥也是月薪上万的')
elif value >= 20000:
print('有钱真好')
elif value >= 30000:
print('有钱任性')
else:
print('你该加油了')
由于表达式的结果为True,则执⾏当前代码块,然后语句结束。
- 应改为
value = int(input('请输入你的工资:'))
if value >= 2000 and value < 5000:
print('还能养活自己')
elif value >= 5000 and value < 10000:
print('工资还说的过去')
elif value >= 10000 and value < 20000:
print('哥也是月薪上万的')
elif value >= 20000 and value < 30000:
print('有钱真好')
elif value >= 30000:
print('有钱任性')
else:
print('你该加油了')
- 举例2:
# 根据指定的月份打印该月份所属季节
# 方法一:
month = int(input('please input your month:'))
if month == 3 or month == 4 or month == 5:
print('spring')
elif month == 6 or month == 7 or month == 8:
print('summer')
elif month == 9 or month == 10 or month == 11:
print('autumn')
elif month == 12 or month == 1 or month == 2:
print('winter')
else:
print(month,' is not the true month')
# 方法二:
month = int(input('please input your month:'))
if month > 12 and month < 0:
print(month,' is not the true month')
elif month >= 3 and month <= 5:
print('spring')
elif month >= 6 and month <= 8:
print('summer')
elif month >= 9 and month <= 11:
print('autumn')
else:
print('winter')
- 小练习:
# 我家的狗5岁了,5岁的狗相当于人多大的年龄呢?
# 狗的前两年,每一年相当于人类的10.5岁。然后相当于增加1岁就在增加4岁。
# 那么5岁的狗就相当于人类的年龄是10.5 + 10.5 + 4 + 4 + 4 = 33
# 编写一个程序,先获取狗的年龄,然后通过程序来判断人的年龄是多少?如果用户输入的是负数,请提示一个错误信息
# 方法一:
dog_age = float(input('请输入狗的年龄:'))
person_ age = 0
#如果狗的年龄在2岁以下(包含2岁)
if dog_age <= 2 and dog_age > 0:
# 直接用狗的当前年龄乘以10.5
person_age = dog_age * 10.5
print(f'狗的年龄{dog_age}岁,相当于人类{person_age}岁')
# 如果狗的年龄在2岁以上
elif dog_age > 2:
#先计算2岁的年龄,再计算超过2岁的年龄,和两岁相加
person_age = 2 * 10.5 + (dog_age - 2)*4
print(f'狗的年龄{dog_age}岁,相当于人类{person_age}岁')
else:
print('你输入的年龄是错误的!!!!')
# 方法二:
dog_age = float(input('请输入狗的年龄:'))
person_ age = 0
if dog_age < 0:
print('你输入的年龄是错误的!!!!')
elif dog_age <= 2:
# 直接用狗的当前年龄乘以10.5
person_age = dog_age * 10.5
print(f'狗的年龄{dog_age}岁,相当于人类{person_age}岁')
# 如果狗的年龄在2岁以上
else:
#先计算2岁的年龄,再计算超过2岁的年龄,和两岁相加
person_age = 2 * 10.5 + (dog_age - 2)*4
print(f'狗的年龄{dog_age}岁,相当于人类{person_age}岁')
- 结果为:
4.循环语句(while)
- 可以使指定的代码块,重复指定的次数
- 循环三要素
1.初始化表达式
2.条件表达式(用来设置循环执行的条件)
3.更新条件表达式
'''
语法:
while 条件表达式:
代码块
else:
代码块
'''
i = 0 # 初始化表达式
while i < 20: # 条件表达式
print(i)
i += 1 # 更新条件表达式
- 举例:
# 求100以内所有偶数的和
# 获取100以内的数
# 方法一
i = 0
while i < 100:
i += 2
r += i
print(r)
# 方法二
i = 100
while i > 0:
i -= 2
r += i
print(r)