Python条件判断

  • 2020 年 1 月 14 日
  • 筆記

Python 条件语句

需要考虑的问题:

1.老婆给当程序员的老公打电话:“下班顺路买10个包子带回来,如果看到卖西瓜的,就买1个。” 当晚,程序员老公手捧一个包子进了家门…… 老婆怒道:“你怎么就买了一个包子?!” 老公答曰:“因为看到了卖西瓜的。”

2.如果明天下雨,就呆在家里

3. 如果看到西瓜,并且1块钱一斤,就买一个

4. 如果天气好,我兜里还有1000块钱,我就出去嗨

5. 老师长得帅,或者老师教的好,我就好好学习,天天向上

6. 兜里有1000块钱 或者 室友请我, 我就出去吃大餐

7. 如果明天不上课,我就去看电影

8. 如果明天不上课,并且兜里有10000或者朋友请我,我就出去玩。

9. 老师帅 或者 我今天高兴并且我已经吃饱了饭,我就学习

总结:计算机之所以能做很多自动化的任务,因为它可以自己做条件判断,以上问题都可通过计算机来解决。

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

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

Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

Python 编程中 if 语句用于控制程序的执行,基本形式为:

if 判断条件:      执行语句……  else:      执行语句……

其中"判断条件"成立时(为真),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。

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

# -*- coding: UTF-8 -*-     # 例1:if 基本用法     flag = False  name = raw_input()  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……

实例如下:

# -*- coding: UTF-8 -*-  # 例2:elif用法     num = 5       if num == 3:            # 判断num的值      print 'boss'          elif num == 2:      print 'user'  elif num == 1:      print 'worker'  elif num < 0:           # 值小于零时输出      print 'error'  else:      print 'passer'     # 条件均不成立时输出  输出结果为:  >>> roadman      # 输出结果

根据年龄判断是否成年:

age = 3  if age >= 18:      print 'your age is', age      print 'adult'  else:      print 'your age is', age      print 'teenager'

如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

#!/usr/bin/python  # -*- coding: UTF-8 -*-     # 例3:if语句多个条件     num = raw_input()  num = int(num)  if num >= 0 and num <= 10:    # 判断值是否在0~10之间      print 'hello'  >>> hello      # 输出结果     num = raw_input()  if num < 0 or num > 10:    # 判断值是否在小于0或大于10      print 'hello'  else:     print 'undefine'  >>> undefine      # 输出结果
num = 8  # 判断值是否在0~5或者10~15之间  if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):          print 'hello'  else:      print 'undefine'  >>> undefine      # 输出结果

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

简单的语句组

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

# -*- coding: UTF-8 -*-     var = 100      if ( var  == 100 ) : print "变量 var 的值为100"      print "Good bye!"   以上代码执行输出结果如下:  变量 var 的值为100  Good bye!

if语句嵌套例子:

根据工资决定输出内容:

#coding:utf8  salary = raw_input  ('输入你的工资')  salary = float(salary)  rate = 0.2  if   salary >= 10000:        poket_money = salary * rate        if   poket_money >= 5000:            print '兜里剩%d' % poket_money            print   '活挺好'        elif   poket_money >= 4000:            print '兜里剩%d' % poket_money            print '有零花钱'        elif   poket_money >= 3000:            print '兜里剩%d' % poket_money            print '有肉吃'        elif   poket_money >= 2000:            print '兜里剩%d' % poket_money            print '有饭吃'        else:            print '兜里剩%d' % poket_money            print '活不了了'  else:        print  '继续努力吧'

了解三元表达式

Expression1 if boolean_expression else Expression2

   如果满足条件A大于B,则max值为A,反之max为B

如:max=A if A>B else B

例如:

开场问题的具体代码实现:

1.买包子问题:

2. 如果明天下雨,就呆在家里

3.看到西瓜并且一块钱一斤就买一个

4. 如果天气好,我兜里还有1000块钱,我就出去嗨

5. 老师长得帅,或者老师教的好,我就好好学习,天天向上

其它问题请同学们课后自行完成。

扩展猜数字实例: