python的分支结构

举报
tea_year 发表于 2021/12/29 23:38:59 2021/12/29
【摘要】 #在if语句嵌套中,需要特别注意的else和if的配对问题。python编译系统处理该问题的原则是:else 总是与同一语法层次中离他最近的尚未配对的if配对#例如:# x=10# y=85# if x>20 or x<-10:# if y<100 or y>x:# print("Good...

  
  1. #在if语句嵌套中,需要特别注意的else和if的配对问题。python编译系统处理该问题的原则是:else 总是与同一语法层次中离他最近的尚未配对的if配对
  2. #例如:
  3. # x=10
  4. # y=85
  5. # if x>20 or x<-10:
  6. # if y<100 or y>x:
  7. # print("Good")
  8. # else:
  9. # print("Bad")
  10. # num=int(input("请输入一个数字:"))
  11. # if num%2==0:
  12. # if num%3==0:
  13. # print("你输入的数字可以整除2和3")
  14. # else:
  15. # print("你输入的数字可以整除2,但是不能整除3")
  16. # else:
  17. # if num%3==0:
  18. # print("你输入的数字可以整除3,但是不能整除2")
  19. # else:
  20. # print("你输入的数字,不能整除2和3")
  21. #4.3.2真值测试;
  22. #python与cC++在处理真值和逻辑运算的方式上有所不同。在python中:
  23. #任何非0数字和非空对象都未真。
  24. #数字0、空对象(如空列表[],空字典{})、None都为假;
  25. #比较和相当测试返回true(真)或false(假)。
  26. #逻辑运算and和or,会返回参与运算的真或假的对象。
  27. #回顾:逻辑运算:not x:x非真即假,非假即真;
  28. #x and y:双真才为真;x or y:x 双假才为假;
  29. #1.比较和相等测试,总是返回true或false。
  30. print(2<5)
  31. print(2>5)
  32. print(2==5)
  33. #2 not 运算,not运算返回true或false。例如:
  34. print(not True,not False)
  35. print(not 0,not 1,not 2)
  36. print(not 'abc',not [1,2],not{'a':12}) #非空对象为真;
  37. print(not '',not[],not{}) #空的对象为假
  38. #3.and和or,python中的and和or运算符总是返回参与运算的对象,而不True和False。Python在计算and运算时,总是按从左到右的顺序计算。
  39. #在找到第一个计算为假的对象,返回该对象,即使右侧还有需要计算的对象,计算都结束。这种计算方式称为短路计算。
  40. print(2 and 0)
  41. print([] and 2)
  42. print(2 and {})
  43. print([]and{})
  44. print(2 and 5) #如果参与运算的对象都为真,则返回最后一个为真的对象。
  45. print(5 and 2)
  46. #or运算同样执行短路计算,在找到第一个为真的对象时,返回该对象,计算结束。
  47. print(0 or 2)
  48. print(2 or [])
  49. print(False or 5)
  50. print([]or{})
  51. print({}or[])
  52. print(False or 5)
  53. #3.3 if...elif 三元表达式
  54. x=5
  55. y=100
  56. if x>y:
  57. a=x
  58. else:
  59. a=y
  60. print(a)
  61. #该if语句,将x、y中较大值赋值给a,该语句可简化为如下的if...els三元表达式。
  62. #a=x if x>y else y
  63. #python还支持从列表中挑选对象,其基本格式如下:
  64. # a=[x,y][f]
  65. #f为假时,将x赋值给a,否则将y赋值给a。假前,真后
  66. a=5
  67. b=10
  68. c=[a,b][a>b]
  69. print(c)

文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。

原文链接:aaaedu.blog.csdn.net/article/details/81737029

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。