if单向判断:

stonenumber=6
#为宝石数量赋值

if stonenumber>=6:
#条件:如果你拥有的宝石数量大于等于6个

print('你拥有了毁灭宇宙的力量')
#结果:显示‘你拥有了毁灭宇宙的力量’的结果

输出:你拥有了毁灭宇宙的力量

所以,if语句的单向判断逻辑,我们可以这样归纳:

在这里,你可能注意到了一个细节:在条件判断代码中的冒号:后、下一行内容的前面,会空几个格,但这是为什么呢?

首先,在计算机的沟通语言中,空格的学名叫缩进,比如我们写文章都要空两个格,这就叫首行缩进。

对于Python而言,冒号和缩进是一种语法。它会帮助Python区分代码之间的层次,理解条件执行的逻辑及先后顺序。

此时,被缩进的内容(print()函数)和if条件语句组成了一个代码块(一个整体),成为了if条件下的内部命令。

这意味着:如果赋值满足if条件,计算机就会准确执行if条件内部的命令。

通俗点讲,我们可以把if当作一个黑社会大哥,冒号后的内容都是他的小弟,当老大if提出一个条件时,他组织下的小弟就会自动执行任务。

双向判断:if…else…

stonenumber=3
#赋值语句:为宝石数量赋值

if stonenumber>=6:
#条件:如果你拥有的宝石数量大于等于6个

  print('你拥有了毁灭宇宙的力量')
#结果:显示‘你拥有带着卡魔拉去沃弥尔星寻找灵魂宝石了毁灭宇宙的力量’的结果

else:
#条件:当赋值不满足if条件时,执行else下的命令

  print('带着卡魔拉去沃弥尔星寻找灵魂宝石')
#结果:显示‘去找灵魂宝石’的结果

输出:带着卡魔拉去沃弥尔星寻找灵魂宝石

多向判断:if…elif…else…

那么,在判断3个或3个以上的条件时,我们就需要借助Python中的多向判断命令:if…elif…else…。

 

这三者共同构成了多向判断的命令逻辑关系:如果if的条件不满足,就按顺序看是否满足elif的条件,如果不满足elif的条件,就执行else的命令。

 

并且,当判断的条件超过3个时,中间的多个条件都可以使用elif。

stonenumber=5
#为宝石数量赋值

if stonenumber>=6:
#条件:如果你拥有的宝石数量大于等于6个

print('你拥有了毁灭宇宙的力量')
#结果:显示‘就拥有了毁灭宇宙的力量’的结果

elif 3<stonenumber<=5:
#条件:如果想让宝石数量停留在4至5个

print('红女巫需要亲手毁掉幻视额头上的心灵宝石')

else:
#条件:当赋值不满足if和elif条件时,执行else下的命令,宝石数量在3个以下

print('需要惊奇队长逆转未来')
#结果:显示‘需要惊奇队长逆转未来’的结果

输出:红女巫需要亲手毁掉幻视额头上的心灵宝石

 if嵌套:

像这种如果底下还有如果、条件里还套条件的情况,我们如何用Python把上面的规则写出来,并得出评价呢?

答案就是——嵌套条件。

historyscore=26

if historyscore>=60:
  print('你已经及格')

  if historyscore>=80:
    print('你很优秀')

  else:
    print('你只是一般般')

else:
  print('不及格')

  if historyscore<30:
    print('学渣')

  else:
    print('还能抢救一下')

print('程序结束')

输出:

不及格
学渣
程序结束

 总结:

练习:

请你写出一段代码,判断美国队长的工资每月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.不管赋值改变后输出结果如何,都需固定打印“程序结束”

money=80
if money<=500:
  print('欢迎进入史塔克穷人帮前三名')
  if 100<money<500:
    print('请找佛瑞队长加薪')
  else:
    print('恭喜你荣获美元队长称号')
elif 500<money<=1000:
  print('祝贺你至少可以温饱了')
else:
  print('经济危机都难不倒您!')
  if 1000<money<=20000:
    print('您快比钢铁侠有钱了!')
  else:
    print('你是不是来自瓦坎达国?')
print('程序结束')

输出:

欢迎进入史塔克穷人帮前三名
恭喜你荣获美元队长称号
程序结束

python基础3 条件判断 if嵌套的更多相关文章

  1. Python基础:条件判断与循环的两个要点

    一.条件判断: Python中,条件判断用if语句实现,多个条件判断时用if...elif实现:看下面一段程序 #python 3.3.5 #test if...elif age = 20 if ag ...

  2. Python基础(条件判断,循环,占位符等)

    Python 自动化 系统开发用的语言和自动化脚本可以不同 学习peython可用于: 网路爬虫,数据分,web开发,人工智能,自动化运维,自动化测试,嵌入式,黑客 第三方库比较全 脚本语言:功能单一 ...

  3. python基础之条件判断和循环

    1.条件判断 age = 3 if age >= 18: print('adult') elif age >= 6: print('teenager') else: print('kid' ...

  4. Python基础教程-条件判断和循环

    Python条件判断 在Python中用if语句实现: age = 20 if age >= 18: print 'your age is :',age print 'adult' 根据Pyth ...

  5. python基础知识--条件判断和循环

    一.输入输出 python怎么来接收用户输入呢,使用input函数,python2中使用raw_input,接收的是一个字符串,输出呢,第一个程序已经写的使用print,代码入下: 1 name=in ...

  6. python学习第六天:python基础(条件判断、循环)

    条件判断 格式 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> ...

  7. Python基础:条件判断 &&循环

    1:条件判断 2:循环 2.1:for 2.2  while 小结: continue :跳出本次循环 进行下次循环,  break :结束循环体.

  8. python基础之条件判断

    一.简单的if语句 举例 if money > 10000: print '我们去旅游吧' #左侧一定要有缩进,一般4个空格 print '请输入学生的考试成绩' score = print ( ...

  9. Python 基础之三条件判断与循环

    If……else 基本结构: If condition: do something else: do something 或者 If condition: do something elif cond ...

随机推荐

  1. webhook: requestbin

    A Runscope Community Project — Learn more. RequestBin Bin URL Make a request to get started. After m ...

  2. gcc 8.2.1 / MCF thread 简介

    gcc 8.2.1 下载 地址 https://gcc-mcf.lhmouse.com/ MCF threadhttps://github.lhmouse.com/ MCF thread 简介MCF ...

  3. C# 在webapi项目中配置Swagger

    这篇文章已经过时了,新的主要配置一个就行了,请参照:http://www.cnblogs.com/alunchen/p/7397396.html Swagger是非常流行用于编辑api给前端同事用.或 ...

  4. extensible_index

    create user ex identified by oracle; grant Resource to ex;grant connect to ex;grant create view to e ...

  5. JAVA ArrayList实现随机生成数字,并把偶数放入一个列表中

    package Code429; import java.util.ArrayList;import java.util.Random; public class CodeArrayListPrint ...

  6. 传输层的端口与TCP标志中的URG和PSH位

    一.协议端口号的提出 运输层提供了进程间通信的能力(即端-端通信).但是不同的操作系统可能无法识别其他机器上的进程.为了用统一的方法对 TCP/IP体系的应用进程进行标志,使运行不同操作系统的计算机的 ...

  7. .net core 2.x - 日志 - to elasiticsearch

    记录日志到elasticsearch(es),下面简写es,然后我们可以通过kibana可视化的观察日志信息以及统计分析等. 1.起源 年中旬时候,公司有个需求是需要分析用户的地址,需要先分词处理然后 ...

  8. chattr和lsattr的基本用法

    lsattr filename  查看一个文件的属性 chattr filename  改变一个文件的属性 主要用途:实现文件的原有内容不允许改变,但可以增加新行,则需通过改变文件的属性来实现. ch ...

  9. PHP 根据子ID递归获取父级ID,实现逐级分类导航效果

    代码: //当前路径 $cate=M('wangpan_class')->select(); function get_top_parentid($cate,$id){ $arr=array() ...

  10. 判断点在不在多边形范围内c#

    C# 计算地图上某个坐标点的是否在多边形内   这个方法引用自群友的博客 https://www.xiaofengyu.com/?p=143 使用百度地图的时候,常常会用到判断一个点是否在一个多边形的 ...