python学习笔记05-条件分支与循环1

朱雀 2020-11-14 08:15 729阅读 0赞

思考问题:100分制,90分以上为A,80-90为B,60-80为C,60以下为D,当用户输入成绩后,打印对应的字母

  1. temp=input('请输入你的成绩:')
  2. score=int(temp)
  3. if 100 >= score >= 90:
  4. print('A')
  5. elif 90 > score >= 80:
  6. print('B')
  7. elif 80 > score >= 60:
  8. print('C')
  9. elif 60 > score >= 0:
  10. print('D')
  11. else:
  12. print('输入有误!')

很简单的小循环,可惜这缩进错误搞得我头疼啊…

小插曲—一般缩进错误肉眼难见,可以到notepad上设置一下便很好看出了,特别是缩进空格混用的情况

  1. 也可以使用Pycharm来运行,可知道具体哪行报错。

863954-20190804163426876-799368063.png

回归上题,elif=else if

也可以用比较直观的方法写出来,例如:

  1. temp=input('请输入你的成绩:')
  2. score=int(temp)
  3. if 100 >= score >= 90:
  4. print('A')
  5. if 90 > score >= 80:
  6. print('B')
  7. if 80 > score >= 60:
  8. print('C')
  9. if 60 >=score >= 0:
  10. print('D')
  11. if score > 100 or score < 0:
  12. print('输入有误!')

两者的区别在于使用esif可以节省CPU时间,后者方法即使输入的数第一个if就能判断出来,也会把后面的if统统执行一遍才会打印结果

而esif在判断出来结果后不会执行后续判断

python可以有效避免悬挂esle

例如:

  1. if(h1>2):
  2. if(h2>7):
  3. print()
  4. esle:
  5. print()

c语言的if—esle有就近原则。最后的esle会跟随第二个if进行条件判断

而python有严格的缩进规范,由代码缩进来决定else跟随哪个if来执行程序,从而从根源避免一些容易忽略的问题出现

pytho的三元操作符

  1. 语法: x if 条件 else y

当条件为True时输出x,当条件为False时输出的值为y

举例子:

  1. x,y=4,5
  2. if x<y:
  3. small=x
  4. else:
  5. small=y
  6. ### small= x if x<y else y

断言(assert)

当assert关键字后面的条件为假的时候程序会自动崩溃,并抛出AssertionError的异常

什么情况下会需要这样会自爆的代码呢??

一般来说我们可以用它在程序中置入检查点,需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了

863954-20190804172027752-474382942.png

成员资格运算符

Python 有一个成员资格运算符:in,用于检查一个值是否在序列中,如果在序列中返回 True,否则返回 False。

发表评论

表情:
评论列表 (有 0 条评论,729人围观)

还没有评论,来说两句吧...

相关阅读