一、条件语句

1、if 判断语句

语法

if 要判断的条件:
  条件成⽴时,要做的事情
  ……
else:
  条件不成⽴时,要做的事情
  ……

代码的缩进为⼀个 tab 键,或者 4 个空格

示例

# 1. 输⼊⽤户年龄
age = int(input("今年多⼤了?"))
# 2. 判断是否满 18 岁
if age >= 18:
  print("可以进⽹吧嗨⽪……")
else:
  print("你还没⻓⼤,应该回家写作业!")
# 3. 思考!- ⽆论条件是否满⾜都会执⾏
print("这句代码什么时候执⾏?")

注意:将数字型数据直接作为判断条件时,⾮0数即为True, 0为False

num = int(input("请输⼊数字:")) 
if num: 
    print("数字⾮0") 
else:
    print("数字为0")

⼀对 if 和 else 可以让代码执⾏出 两种不同的结果

但开发中,可能希望 并列的执⾏出多种结果,这时就可以使⽤ elif,语法如下
if 条件1: 
    条件1满⾜执⾏的代码 
    …… 
elif 条件2: 
    条件2满⾜时,执⾏的代码 
    …… 
elif 条件3: 
    条件3满⾜时,执⾏的代码 
    …… 
else:
    以上条件都不满⾜时,执⾏的代码
    ……

二、循环

1、while循环 

循环的作⽤就是让 指定的代码 重复的执⾏

while 循环最常⽤的应⽤场景就是 让执⾏的代码 按照 指定的次数 重复 执⾏

语法:

变量设置初始值 
while 条件(判断 变量是否满⾜条件): 
    条件满⾜时,做的事情1 
    条件满⾜时,做的事情2 
    条件满⾜时,做的事情3 
    ...(省略)... 
    修改变量

示例

# 1. 定义重复次数计数器 
i = 1 
# 2. 使⽤ while 判断条件 
while i <= 10000: 
    # 要重复执⾏的代码 
    print("媳妇⼉,我错了") 
    # 处理计数器 i 
    i = i + 1

死循环:由于程序员的原因,忘记 在循环内部 修改循环的判断条件,导致循环持续执⾏,程序⽆法终⽌!

2、Python 中的计数⽅法 

常⻅的计数⽅法有两种,可以分别称为: 

⾃然计数法(从 1 开始)—— 更符合⼈类的习惯

程序计数法(从 0 开始)—— ⼏乎所有的程序语⾔都选择从 0 开始计数

因此,⼤家在编写程序时,应该尽量养成习惯:除⾮需求的特殊要求,否则 循环 的计数都从 0 开始 

示例:计算 0 ~ 100 之间 所有 偶数 的累计求和结

i = 1 
sum = 0 
while i<=100: 
    if i % 2 == 0: 
        sum = sum + i 
        i+=1 
print("1~100的累积和为:%d"%sum)

3、break 和 continue 

break 和 continue 是专⻔在循环中使⽤的关键字 

break 某⼀条件满⾜时,不再执⾏循环体中后续重复的代码,并退出循环

continue 某⼀条件满⾜时,不再执⾏本次循环体中后续重复的代码,但进⼊下⼀次循环判断 ,不退出循环

注意:break在嵌套循环中,只对最近的⼀层循环起作⽤ 

4、循环嵌套

while 嵌套就是: while ⾥⾯还有 while 

示例1:使⽤循环嵌套打印⼩星星

  知识点 对 print 函数的使⽤做⼀个增强 

  在默认情况下, print 函数输出内容之后,会⾃动在内容末尾增加换⾏ 

  如果不希望末尾增加换⾏,可以在 print 函数输出内容的后⾯增加 , end="" 

  其中 "" 中间可以指定 print 函数输出内容之后,继续希望显示的内容 

语法格式如下: 

# 向控制台输出内容结束之后,不会换⾏ 
print("*", end="") 
# 单纯的换⾏ 
print("")

end="" 表示向控制台输出内容结束之后,不会换⾏ 

row = 1 
while row <= 5: 
    # 假设 python 没有提供字符串 * 操作 
    # 在循环内部,再增加⼀个循环,实现每⼀⾏的 星星 打印 
    col = 1 
    while col <= row: 
        print("*", end="") 
        col += 1 
    # 每⼀⾏星号输出完成后,再增加⼀个换⾏ 
    print("") 
    row += 1

结果

*
**
*** 
**** 
*****

示例2:九九乘法表

字符串中的转义字符

  \t 在控制台输出⼀个 制表符,协助在输出⽂本时 垂直⽅向 保持对⻬,但不会换⾏

  \n 在控制台输出⼀个 换⾏符 

  制表符 的功能是在不使⽤表格的情况下在 垂直⽅向 按列对⻬⽂本

 代码如下:

# 定义起始⾏ 
row = 1 
# 最⼤打印 9while row <= 9: 
    # 定义起始列 
    col = 1 
    # 最⼤打印 row 列 
    while col <= row: 
        # end = "",表示输出结束后,不换⾏ 
        # "\t" 可以在控制台输出⼀个制表符,协助在输出⽂本时对⻬ 
        print("%d * %d = %d" % (col, row, row * col), end="\t") 
        # 列数 + 1 
        col += 1 
    # ⼀⾏打印完成的换⾏ 
    print("") # ⾏数 + 1 
    row += 1

5、for .. else 语法 

在 Python 中,循环语句⽀持 else , 语法如下:
for 变量 in 集合: 
    循环体代码 
else:
    没有通过 break 退出循环,循环结束后,会执⾏的代码

示例

在 迭代遍历 嵌套的数据类型时,例如 ⼀个列表包含了多个字典 

需求:要判断 某⼀个字典中 是否存在 指定的 值

  如果 存在,提示并且退出循环

  如果 不存在,在 循环整体结束 后,希望 得到⼀个统⼀的提示

students = [ 
    {"name": "阿⼟", "age": 20, "gender": True, "height": 1.7, "weight": 75.0}, 
    {"name": "⼩美", "age": 19, "gender": False, "height": 1.6, "weight": 45.0}, 
]
find_name = "阿⼟" 
for stu_dict in students: 
    print(stu_dict) 
    # 判断当前遍历的字典中姓名是否为find_name 
    if stu_dict["name"] == find_name: 
        print("找到了") 
        # 如果已经找到,直接退出循环,就不需要再对后续的数据进⾏⽐较 
        break 
else:
    print("没有找到") 
print("循环结束")

6、range

返回一个对象,该对象根据步长从开始位置到结束位置生成一个整数序列,类似列表

作用:配合for循环进行计数

格式:range(开始位置,结束位置,步长) 左闭右开

res = range(5) # 默认从0开始,结束位置不包含
print(res)
for i in res:
    print(i)

结果:

开始位置默认从0开始,所以range(5)与range(0,5)是一样的。步长默认为1,所以range(0,5)与range(0,5,1)是一样的。

公式:下一个要生成的整数 = 当前整数 + 步长

注意:

步长如果为正值时,开始位置应该小于结束位置

步长如果为负值时,开始位置应该大于结束位置

使用:

for i in range(10):
    print(i)

 

三、随机数处理

在 Python 中,要使⽤随机数,⾸先需要导⼊ 随机数 的 模块 —— “⼯具包”

import random

导⼊模块后,可以直接在 模块名称 后⾯敲⼀个 . 然后按 Tab 键,会提示该模块中包含的所有函数

random.randint(a, b) ,返回 [a, b] 之间的整数,包含 a 和 b

例如:

random.randint(12, 20) # ⽣成的随机数n: 12 <= n <= 20 random.randint(20, 20) # 结果永远是 20 
random.randint(20, 10) # 该语句是错误的,下限必须⼩于上限

 

 

 

posted on 2021-09-09 09:46  周文豪  阅读(261)  评论(0编辑  收藏  举报