if 条件语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

可以通过下图来简单了解条件语句的执行过程:

  • Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
  • Python 编程中 if 语句用于控制程序的执行,基本形式为:
if 判断条件:
    执行语句……
else:
    执行语句……

其中”判断条件”成立时(非零),则执行后面的语句,而执行内容可以多行,以”四个空格“来区分表示同一范围。

else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句,具体例子如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 例1:if 基本用法
 
flag = False
name = 'luren'
if name == 'python':         # 判断变量否为'python'
    flag = True          # 条件成立时设置标志为真
    print 'welcome boss'    # 并输出欢迎信息
else:
    print name              # 条件不成立时输出变量名称

输出结果为:

luren            # 输出结果

if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。

当判断条件为多个值时,可以使用以下形式:

if 判断条件1:
    执行语句1……
elif 判断条件2:
    执行语句2……
elif 判断条件3:
    执行语句3……
else:
    执行语句4……
#!/usr/bin/python2
# -*- coding: utf-8 -*-
# @Time    : 12/25/2017 2:31 PM
# @Author  : Zhdya
# @Email   : [email protected]
# @File    : test_1225.py
# @Software: PyCharm

score = int(raw_input("pls input a number: "))      ##把输入的数字转换成int型

if score >= 90 and score <= 100:
    print "congurations!! your score level is A"
elif score >= 80:
    print "congurations!! your score level is B"
elif score >= 70:
    print "congurations!! your score level is C"
else:
    print "Sorry!! you didn't pass the exam!"

由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。

简单的语句组

你也可以在同一行的位置上使用if条件判断语句,如下实例:

#!/usr/bin/python 
# -*- coding: UTF-8 -*-
 
var = 100 
 
if ( var  == 100 ) : print "变量 var 的值为100" 
 
print "Good bye!"

以上代码执行输出结果如下:

Good bye!

习题

  1. 输入三个整数x,y,z,请把这三个数由小到大输出。 1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换, 然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
  2. 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
# -*- coding: utf-8 -*-
# @Time    : 2017/12/25 21:48
# @Author  : Zhdya
# @Email   : [email protected]
# @File    : test_1225.py
# @Software: PyCharm

x = int(raw_input("pls input a number: "))
y = int(raw_input("pls input a number: "))
z = int(raw_input("pls input a number: "))

aa = [x,y,z]
list(aa)

aa.sort()

print aa        第一种
------------------------------------------
aa = [x,y,z]
list(aa)
for i in range(len(aa)):
    for j in range(i+1):
        if aa[i] < aa[j]:
            # 实现连个变量的互换
            aa[i],aa[j] = aa[j],aa[i]
print aa          第二种
-------------------------------------------------
aa = [x,y,z]
list(aa)

if x > y:
    temp = x
    x = y
    y = temp
    if y > z:
        temp = y
        y = z
        z = temp
        if x > y:
            temp = x
            x = y
            y = temp
elif y > z:
    temp = z
    z = y
    y = temp
    if x > y:
        temp = x
        x = y
        y = temp

print x,y,z       第三种

# 2.-------------------------------------------------
# 企业发放的奖金根据利润提成。
# 利润(I)低于或等于10万元时,奖金可提10%;
# 利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;
# 20万到40万之间时,高于20万元的部分,可提成5%;
# 40万到60万之间时高于 40万元的部分,可提成3%;
# 60万到100万之间时,高于60万元的部分,可提成1.5%;
# 高于 100万元时,超过100万元的部分按1%提成;
# 从键盘输入当月利润I,求应发放奖金总数?


i = int(raw_input("pls input the profit: "))
if i <= 100000:
    print "the bonus is: %s" % (i * 0.1)
elif i >= 10000 and i<= 200000:
    print "the bonus is: %s" % (100000 * 0.1 + (i - 100000) * 0.075)
elif i >= 200000 and i<= 400000:
    print "the bonus is: %s" % (100000 * 0.1 + 100000 * 0.075 + (i - 200000) * 0.05)
elif i >= 400000 and i<= 600000:
    print "the bonus is: %s" % (100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (i - 400000) * 0.03)
elif i >= 600000 and i<= 1000000:
    print "the bonus is: %s" % (100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.015 + (i - 600000) * 0.015)
else :
    print "the bonus is: %s" % (100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.015 + 400000 *0.015 + (i - 1000000) * 0.01)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏函数式编程语言及工具

泛函编程(17)-泛函状态-State In Action

    对OOP编程人员来说,泛函状态State是一种全新的数据类型。我们在上节做了些介绍,在这节我们讨论一下State类型的应用:用一个具体的例子来示范如何使...

2108
来自专栏爱撒谎的男孩

设计模式之适配器模式

1965
来自专栏python3

习题3:数字和数学计算

数小鸡! 母鸡 30.0 公鸡 97 数鸡蛋 6.75 False what is 3 + 2 ? 5 what is 5 - 7? -2 True True ...

631
来自专栏C语言及其他语言

【每日一题】问题 1255: 能量项链

在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有 N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的...

702
来自专栏生信技能树

(11)仿写bowtie-生信菜鸟团博客2周年精选文章集

然后仿写了bowtie,对我的编程技术提高非常有帮助。目录如下: 自己动手写bowtie第一讲:BWT算法详解并建立索引 自己动手写bowtie第二讲:优化索引...

3386
来自专栏数据结构与算法

BZOJ2595: [Wc2008]游览计划(斯坦纳树,状压DP)

1650
来自专栏数据结构与算法

P1063 能量项链

题目描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对...

34010
来自专栏编程

文本提取仨兄弟

周二 · 函数  关键词:left、right、mid 1语法 =Left(text,[num_chars]) =Right(text,[num_chars])...

2048
来自专栏数据结构与算法

洛谷 P3807 【模板】卢卡斯定理

题目背景 这是一道模板题。 题目描述 给定 求  保证P为prime C表示组合数。 一个测试点内包含多组数据。 输入输出格式 输入格式: 第一行一...

2694
来自专栏bboysoul

1488: C语言实验题――买糖果

描述: 小瑜是个爱吃糖果的馋鬼,天天嚷着要爸爸买糖果,可是爸爸很忙,哪有时间啊,于是就让小瑜自己去了,糖果3角钱一块,爸爸给小瑜n元钱,请你告诉小瑜最多能买几...

832

扫码关注云+社区

领取腾讯云代金券