if 判断语句

基本使用语法

  1. if 条件:
  2. 代码执行体

当条件成立的时候,会执行 代码执行体。

  1. if 3>10:
  2. print("我很不理解为什么这样")

3>10 不成立,下面不会打印。

if … else …

当if后面的条件不成立的时候,会执行else语句中的内容。

  1. if 3>10:
  2. print("我很不理解为什么这样")
  3. else:
  4. print("hahaha")

生成随机值。
当随机值大于0.5 的时候 输出”你赢了”,否则输出 “我赢了”。

  1. import random
  2. # 生成0-1 随机值
  3. n = random.random()
  4. if n > 0.5:
  5. print('你赢了')
  6. else:
  7. print('我赢了')

if … else … 只能判断两种场景。
正常可能的场景有多个。比如班级学生成绩评比。

成绩 结果
0-59 不及格
60-79
80-100
不再0-100之间 数据有误

针对以上场景,可以使用 下面语句完成。

if … elif … else …

elif 作为分支条件,语句中可以有多个分支。
python-06-2 - 图1

  1. import random
  2. # 随机生成整数
  3. score = random.randint(0,130)
  4. print('成绩为:',score)
  5. if score>=0 and score<=59:
  6. print('不及格')
  7. elif score>=60 and score<=79:
  8. print('良')
  9. elif score>=80 and score<=100:
  10. print('优')
  11. else:
  12. print('数据输入有误')

当有多种条件分支的时候可以使用上面这种语法;

for … else …

for循环如果正常运行完成,如果没有break中断,会执行else语句中的内容。
模拟ATM输入密码操作,当输入密码错误3次,会锁定银行卡,并提示明天再试。

  1. 循环三次
  2. 当在这三次之内如果输入正确,使用 break 中断循环。
  3. 如果三次都输入失败,停止循环,并提示 明天再试 ```python import random

    随机生成整数

    for i in range(3): passwd = random.randint(0,100) print(f”第{i+1}次数输入密码为”,passwd) if passwd>=80 and passwd <=100:
    1. print("输入正确,进入系统")
    2. break
    else:
    1. print("输入有误,请重试!")
    else: print(‘输错次数3次,请明天再试!’)
  1. 注意:这里的 for... else ... 这里的else 一定要跟 for 对齐。
  2. <a name="KfWAx"></a>
  3. # 金子塔
  4. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/87080/1634382629782-836caf26-ccef-41ed-8ddd-b25a7d41ac6d.png#clientId=u472f49da-5d0c-4&from=paste&height=125&id=u13500acc&margin=%5Bobject%20Object%5D&name=image.png&originHeight=250&originWidth=286&originalType=binary&ratio=1&size=24255&status=done&style=none&taskId=u2421f48c-568b-4b61-bffc-d0f56c5d3fc&width=143)
  5. ```python
  6. for n in range(1,6):
  7. # print("*"*(2*n-1))
  8. #空格的数量
  9. blank = (5-n)*" "
  10. # 星星的数量
  11. star ="*"*(2*n-1)
  12. print(blank+star)

image.png

  1. for i in range(5,0,-1):
  2. blank = (5-i)*" "
  3. star = (i*2-1)*"*"
  4. print(blank + star)

打印爱心

  1. print('\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(30, -30, -1)]))

image.png

代码框架

https://www.bilibili.com/video/BV1kz4y1f7Cm/

点击查看【bilibili】