Python条件判断
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 语句用于控制程序的执行,基本形式为:
1 2 3 4 | if 判断条件: 执行语句…… else : 执行语句…… |
其中"判断条件"成立时(为真),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句,具体例子如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 | # -*- coding: UTF-8 -*- # 例1:if 基本用法 flag = False name = raw_input() if name == 'python' : # 判断变量否为'python' flag = True # 条件成立时设置标志为真 print 'welcome boss' # 并输出欢迎信息 else : print name # 条件不成立时输出变量名称 输出结果为: >>> luren # 输出结果 |
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值时,可以使用以下形式:
1 2 3 4 5 6 7 8 | if 判断条件1: 执行语句1…… elif 判断条件2: 执行语句2…… elif 判断条件3: 执行语句3…… else : 执行语句4…… |
实例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # -*- 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 # 输出结果 |
根据年龄判断是否成年:
1 2 3 4 5 6 7 | age = 3 if age >= 18: print 'your age is' , age print 'adult' else : print 'your age is' , age print 'teenager' |
如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #!/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 # 输出结果 |
1 2 3 4 5 6 7 | 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条件判断语句,如下实例:
1 2 3 4 5 6 7 8 9 10 | # -*- coding: UTF-8 -*- var = 100 if ( var == 100 ) : print "变量 var 的值为100" print "Good bye!" 以上代码执行输出结果如下: 变量 var 的值为100 Good bye! |
if语句嵌套例子:
根据工资决定输出内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #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. 老师长得帅,或者老师教的好,我就好好学习,天天向上
其它问题请同学们课后自行完成。
扩展猜数字实例:
本文出自 “一盏烛光” 博客,谢绝转载!
更多建议: