基于Python3版本的学习。
条件判断
与计算机沟通的逻辑,明确地让计算机知道:在什么条件下,该去做什么。
条件判断语句总共有三种表现形式:if、else、elif。
单向判断:if
满足if条件就执行。
# 为年纪赋值
age=15
# 条件:如果你的年纪大于等于18岁
if age>=15:
# 结果:显示‘你已经是个大人了,该学会处理自己的事了’的结果
print('你已经是个大人了,该学会处理自己的事了')
那么,这段代码是如何实现的呢?
首先,第一行代码,用赋值运算符=对当前情况进行赋值:将你的年纪15赋值给变量——年纪age。
第二步,确定if条件:如果变量age的值>=18岁时,就执行冒号后,下一行的命令。
第三步,用print()命令打印出结果:你已经是个大人了,该学会处理自己的事了。
对于python而言,冒号:和缩进(四个空格或TAB健)是一种语法,区分代码之间的层次,理解条件执行的逻辑先后顺序。
被缩进的内容(print()函数)和if条件语句组成了一个代码块(一个整体),成为了if条件下的内部命令。
这意味着:如果赋值满足if条件,计算机就会准确执行if条件内部的命令(即缩进的代码块)。
双向判断:if…else…
在if…else条件语句中,形成两个不同的代码块。
表示的是条件和其他条件的互斥关系。
计算机是一行行往下执行代码的。
所以,当第一行赋值情况的前提不满足if的条件时,Python的逻辑就会判断:条件不满足,无法执行if条件下的命令,从而自动跳过,执行下一行命令。
# 为年纪赋值
age=15
# 条件:如果你的年纪大于等于18岁
if age>=15:
# 结果:显示‘你已经是个大人了,该学会处理自己的事了’的结果
print('你已经是个大人了,该学会处理自己的事了')
# 条件:当赋值不满足if条件时,执行else下的命令
else:
# 结果:显示‘你还是个孩子,该听妈妈的话’的结果
print('你还是个孩子,该听妈妈的话')
多向判断:if…elif…else…
多向判断的命令逻辑关系:如果if的条件不满足,就按顺序看是否满足elif的条件,如果不满足elif的条件,就执行else的命令。
并且,当判断的条件超过3个时,中间的多个条件都可以使用elif。
1994年以前国际对人口问题通过划分标准是三个年龄段:零至14岁为少儿;15岁至64岁为劳动力人口;64岁(中国60岁)以上为老年人。
如何用python语言来描述上述的年龄阶段呢?
# 为年纪赋值
age=15
# 条件:如果你的年纪在0到14岁之间
if 0<age<=14:
# 结果:显示‘你现在正处于少儿时期’的结果
print('你现在正处于少儿时期')
# 条件:如果你的年纪在15到64岁之间
elif 15<=age<=64:
# 结果:显示‘你现在为劳动力人口’的结果
print('你现在为劳动力人口')
# 条件:当赋值不满足if条件时,执行else下的命令
else:
# 结果:显示‘您该已儿孙满堂啦!’的结果
print('您该已儿孙满堂啦!')
if、elif、else三者多代表的条件是互斥的,elif后面可不接else。
if嵌套
即条件里还套条件。
简单来讲就是:在基础条件满足的情况下,再在基础条件底下增加额外的条件判断。
要点提示:请注意额外条件的缩进格式。
就像上面的基础条件是60分及格,想要判断优秀和一般还要增加额外条件——是否大于等于80;在小于60分不及格基础条件下,想要判断学渣和可抢救还要增加额外条件——是否大于等于30。
成绩评价规则,用if嵌套可以像下方代码这样:
historyscore=26
if historyscore>=60:
print('你已经及格')
if historyscore>=80:
print('你很优秀')
else:
print('你只是一般般')
else:
print('不及格')
if historyscore<30:
print('学渣')
else:
print('还能抢救一下')
print('程序结束')
要注意的是,elif也是可以放进嵌套里的。
如何写嵌套代码
1.写基础条件代码。
2.写基础条件1的额外条件。
3.写基础条件2的额外条件。
风变编程学习笔记 / 代码练习
练习介绍:
复仇者联盟的成员也是有工资的,然而,由于美国队长一直被冰封在北极,错过了多次调薪机会,所以美国队长的工资一直是每月80美元。光荣挺进史塔克穷人榜前三名,并获封“美元队长”称号。题目要求:
请你写出一段代码,判断美国队长的工资水平,代码需要满足如下条件:
1.如果月工资小于等于500美元,显示“欢迎进入史塔克穷人帮前三名”
1.1如果月工资在100-500美元之间,显示“请找弗瑞队长加薪”
1.2如果月工资小于等于100美元,显示“恭喜您荣获“美元队长”称号!”
2.如果月工资在500-1000美元之间(含1000美元),打印“祝贺您至少可以温饱了。”
3.其他情况下,如果工资大于1000美元,打印“经济危机都难不倒您!”
3.1如果工资在1000-20000美元(含20000美元)之间,打印“您快比钢铁侠有钱了!”
3.2如果月工资大于20000美元,打印“您是不是来自于瓦坎达国?”
4.不管赋值改变后输出结果如何,都需固定打印结果“程序结束”
代码:
wage=80
if wage<=500:
print('欢迎进入史塔克穷人帮前三名')
if 100<wage<500:
print('请找弗瑞队长加薪')
else:
print('恭喜您荣获“美元队长”称号!')
elif 500<wage<=1000:
print('祝贺您至少可以温饱了。')
else:
print('经济危机都难不倒您!')
if 1000<wage<=2000:
print('您快比钢铁侠有钱了!')
else:
print('您是不是来自于瓦坎达国?')
print('程序结束')
运行结果: