python基础3 条件判断 if嵌套

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嵌套的更多相关文章
- Python基础:条件判断与循环的两个要点
一.条件判断: Python中,条件判断用if语句实现,多个条件判断时用if...elif实现:看下面一段程序 #python 3.3.5 #test if...elif age = 20 if ag ...
- Python基础(条件判断,循环,占位符等)
Python 自动化 系统开发用的语言和自动化脚本可以不同 学习peython可用于: 网路爬虫,数据分,web开发,人工智能,自动化运维,自动化测试,嵌入式,黑客 第三方库比较全 脚本语言:功能单一 ...
- python基础之条件判断和循环
1.条件判断 age = 3 if age >= 18: print('adult') elif age >= 6: print('teenager') else: print('kid' ...
- Python基础教程-条件判断和循环
Python条件判断 在Python中用if语句实现: age = 20 if age >= 18: print 'your age is :',age print 'adult' 根据Pyth ...
- python基础知识--条件判断和循环
一.输入输出 python怎么来接收用户输入呢,使用input函数,python2中使用raw_input,接收的是一个字符串,输出呢,第一个程序已经写的使用print,代码入下: 1 name=in ...
- python学习第六天:python基础(条件判断、循环)
条件判断 格式 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> ...
- Python基础:条件判断 &&循环
1:条件判断 2:循环 2.1:for 2.2 while 小结: continue :跳出本次循环 进行下次循环, break :结束循环体.
- python基础之条件判断
一.简单的if语句 举例 if money > 10000: print '我们去旅游吧' #左侧一定要有缩进,一般4个空格 print '请输入学生的考试成绩' score = print ( ...
- Python 基础之三条件判断与循环
If……else 基本结构: If condition: do something else: do something 或者 If condition: do something elif cond ...
随机推荐
- TCP-IP详解笔记3
TCP-IP详解笔记3 地址解析协议 IP协议的设计目标是为跨越不同类型物理网络的分组交换提供互操作. 网络层软件使用的地址和底层网络硬件使用的地址之间进行转换. 对于TCP/IP网络,地址解析协议( ...
- openssl-1.1.0g reference
include/openssl aes.h: struct aes_key_st { aes.h: unsigned long rd_key[4 * (AES_MAXNR + 1)]; aes.h: ...
- Java面试题复习笔记(框架)
1.什么是框架? 为解决一个开放性问题而设计的具有一定约束性的支撑结构,再次结构上可以根据具体问题扩展,安插更多的组成部分,从而更迅速和方便地构建完整解决问题的方案. 2.MVC模式? 用一种业务逻辑 ...
- ubuntu linux adb devices no permissions解决办法
最近在调试安卓手机时老是失败,问题如下所示 han@ubuntu:~/project/zero_app$ adb devices List of devices attached 664768297c ...
- selenium执行JavaScript语句:控制滚动条 聚焦元素 改变下拉选项
1. 执行js脚本 控制滚动条 # http://www.cnblogs.com/yoyoketang/p/6128655.html In [347]: js = "window.scrol ...
- Swift - use Array
//数组声明 var arr0 = Array<Int>() var arr1 = Array<String>(count: 3, repeatedValue: "& ...
- C - 树的统计Count - 树链剖分
思路 :树剖模板,线段树维护即可. #include<bits/stdc++.h> using namespace std; #define MID int m = (l+r)/2 #de ...
- 动态规划——Split Array Largest Sum
题意大概就是,给定一个包含非负整数的序列nums以及一个整数m,要求把序列nums分成m份,并且要让这m个子序列各自的和的最大值最小(minimize the largest sum among th ...
- Ackerman
Ackerman 递归算法 一 . 问题描述及分析 图1 二 . 代码实现 package other; import java.io.BufferedWriter; import java.io.F ...
- Java 接口 新特性(Java8)
Java8新特性之接口增强 在Java7以及以前的版本中,接口里的方法都是抽象的,并且不存在静态方法,属性默认修饰符是public static final.所有方法的声明都是public [返回类型 ...