joeの小窝

Loading...

python基础04分支和循环

输入和输出
input
print

输入和输出

input() 输入函数

name = input("提示输入什么")
print("你好")
# 必须需要等你输入后才会输出下面的信息,这个被称为阻塞
  • input里面输入的数据默认是字符串,可以转换的,int(input("将其转换为整型了"))

条件判断

  • 缩进表示下面的代码属于哪些,表示代码的层次结构,相同的缩进的话,就是属于同一个代码块,相当于是一个执行的整体

  • 通常是使用4个空格作为一个缩进

  • 同一个缩进的代码就是属于同一个层级,同一个执行的整体

单分支结构

age = int(input("请输入你的年龄:"))
if age >= 18:   # 符合这个条件,返回为true就执行下面的
    print("可以投票")
else:  # else后面不需要添加条件,上面的不成立,就会执行下面的语句
    print("不可以投票")

多分支结构

# 多个选择

score = int(input("请输入你的分数:"))

if score >= 90:
    print("你非常的优秀!")
elif score >=80:
    print("良好!")
elif score >=60:
    print("及格!")
else:
    print("不及格!")

满足多个条件

# 上面的分数案例,只有一个分数,也就是只需要一个判断即可
# 现在有2个成绩,就需要同时的满足,才能输出

python_score = int(input("请输入你的python分数:"))
java_score = int(input("请输入你的java分数:"))

if python_score >= 60 and java_score >= 60:
    print("恭喜你通过")
elif python_score < 60 and java_score >= 60:
    print("恭喜你通过")
elif python_score >= 60 and java_score < 60:
    print("恭喜你通过")
else:
    print("请重新考试")

判断语句的嵌套

a = "周末"
b = "晴天"

if a == "周末":  # 多个if嵌套
    if b == "晴天":
        print("天气好,去玩")
    else:
        print("天气不好,不出去玩,待在家里")
else:
    print("不是周末,我要去上班")


三目运算符,也是一个判断的,简化代码的,但是读起来有点费劲,看起来没有常规的舒服

score = int(input("请输入你的分数:"))
print("及格") if score >= 60 else print("不及格")

# 看着的逻辑性不是很好

循环

  • 让程序去重复的帮你完成一件事情

  • while 和 for 就是定义的变量不同,条件不同

while循环

  • while 循环,条件成立就执行,条件不满足的话,就不执行

  • 不能确定循环重复次数,使用while循环的话,在循环开始前需要定义一个变量,通过这个变量来控制循环

i = 0
while i <5:
    print("我错了")
    i+=1



while循环的嵌套

  • 外循环执行一次,内层循环执行无数次

  • 就是在一个while中嵌套了一个while

j = 0
while j < 3:  # 外层循环
    i = 0
    while i < 3:  # 内层循环
        print("我错了")
        i+=1
    print("我还要洗碗")
    print("惩罚结束")
    j+=1

for循环

  • 知道循环执行的次数

  • 循环的是可迭代对象,这些对象都能被for循环。列表,元组,字符串,集合,字典都能被for循环,这些都是可迭代对象

  • 循环的是对象中的每个元素,循环的次数取决于对象的数据

l1 = [123,"adb","999"]
for i in l1:  
    print(i)

对各种数据类型进行循环

对字符串进行循环

s1 = "abcd"
for i in s1:
    print(i)

列表进行循环

l2 = [123,"mmm","123"]
for i in l2:
    print(i)

# 输出为
123
mmm
123

对元组进行循环

t1 = (123,"mmm",["123","bb"])
for i in t1:
    print(i)

对集合进行循环

j1 = {123,"ll",("qwe","mm")}
for i in j1:
    print(i)


# 集合是可变的,散列(无序)类型,但是里面存储的数据是不可变的,不能是列表,字典,集合这些


对字典进行循环

d1 = {
    "name":123,
    "age":99
}
for i in d1:
    print(i)

# 直接循环获取的是key

# 想要获取值呢?
d1 = {
    "name":123,
    "age":99
}
for i in d1:
    print(d1[i])  # 直接通过字典获取值的方式,获取字典的值


range()函数

range(num) 就是直接生成数

三种用法

第一种用法 range(num)

# range(num)  生成0到num-1的数,不包含这个num数

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

# 输出的是0到9,不包含10

第二种用法 range(num1,num2)

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

# 设置循环的起始数字,不包含10

第三种用法 range(num1,num2,步长)

for i in range(1,10,2):
    print(i)

# 步长为2输出

# 输出为
1
3
5
7
9

for循环多层嵌套

其实对于循环嵌套而言,最多不超过2层即可,因为嵌套多起来,这个逻辑就变得非常复杂,逻辑很绕的感觉

多层嵌套循环的特点:外层循环一次,内层循环所有次


for i in range(2):
    for j in range(2):
        print(i,j)

# 输出为
0 0
0 1
1 0
1 1

# 外层为0的时候,内层循环执行2次,依此类推

break和continue

break就是终止循环,直接跳出了循环

for i in range(5):
    if i == 3:
        break
    print(i)

# 循环到3直接跳出

continue只是终止本次循环,继续下一次循环

for i in range(5):
    if i == 3:
        continue
    print(i)


# 只是不输出3,其他都输出

总结:

判断:能够去控制程序的走向,什么时候,做什么事

if 判断条件:
    # 执行语句
elif 判断条件:
    # 执行语句
else:
    # 执行语句


循环: 能够重复的执行代码

  • while循环根据某个条件进行循环的

  • for循环,根据对象进行循环

循环中断:

  • break 终止循环

  • continue 终止本次循环,继续执行下一次循环

posted @ 2026-05-11 17:20  乔的港口  阅读(60)  评论(0)    收藏  举报