当前位置: 代码迷 >> 综合 >> 总结day4-day5
  详细解决方案

总结day4-day5

热度:44   发布时间:2023-12-06 17:55:02.0

总结day4-day5

流程控制 - 控制代码执行顺序

  • 顺序结构:代码从上往下依次执行,每天语句只执行一次。(默认)
  • 分支结构:根据条件选择执行或者不执行部分代码(使用if)
  • 循环结构:让代码重复执行(for、while)
顺序结构
print('hello')
print('python')
print(100)分支结构
age = 10
if age >= 18:print('成年')
else:print('未成年')循环结构
for _ in range(10):print('hello world!')

分支结构

  1. if单分支结构 - 如果…就…
    解决的问题:满足条件执行某个操作,添加不满足的时候就不执行
语法:
if 条件语句:代码段(满足条件才会执行的代码)说明:
if      -    关键字;固定写法
条件语句    -   可以任何有结果的表达式,包括:具体的数据、运算表达式(赋值运算例外)、已经赋值过的变量、函数调用表达式等
:       -    固定写法
代码段   -    从结构上就是和if保持一个缩进的一条或者多条语句(至少一条);逻辑上,代码段就是条件成立的时候才会执行的代码
  1. if双分支结构 - 如果…就…否则…
语法:
if 条件语句:代码段1(满足条件需要执行的代码)
else:代码段2(条件不满足的时候需要执行的代码)
代码段3(不管条件成不成立都执行)
  1. if多分支结构 - 如果…就…如果…就…如果…就…否则…
语法:
if 条件1:代码段1
elif 条件2:代码段2
elif 条件3:代码段3
...
else:代码段N其他代码注意:elif可以是任意多个;else可以有也可以没有

for 循环

  1. for循环
1)语法:
for 变量 in 序列:循环体(需要重复执行的代码)2)说明:
for   -  关键字;固定写法
变量   -  有效变量名(可以是已经定义的,也可以是没有定义过的)
in    -  关键字;固定写法
序列  -   容器型数据类型的数据,容器型数据类型包括:字符串、列表、字典、集合、元组、迭代器、生成器、range:     -   固定写法
循环体  -for保持一个缩进的一条或者多条语句;循环体就是需要重复执行的代码3)执行过程
让变量去序列中取值,一个一个的取,取完为止;取一个值就执行一次循环体。
for循环的循环次数和序列中元素的个数有关。

应用场景:

# 1. 累积
# 练习1:写代码求 1+2+3+...+100 的和
# 第一步:定义变量保存结果,变量的初始值一般是0(求和)或者1(求乘积)
result = 0
# 第二步:用循环一个一个的获取累积数据
for x in range(1, 101):# 第三步:在循环体将取到的每一个数据合并到结果对应的变量中result += x
print(result)# 练习2:求10的阶乘: 1*2*3*...*10
result = 1
for x in range(1, 11):result *= x
print(result)# 练习3:求100到200中所有能被3整除的偶数的和
result = 0
for x in range(100, 201):if x % 3 == 0 and x % 2 == 0:result += x
print(result)
  1. 统计个数
# 练习1:统计1000以内奇数的个数
# 第一步:定义变量保存最后的个数,变量默认值是0
count = 0
# 第二步:使用循环获取统计对象
for x in range(1000):# 第三步:遇到一个满足统计条件的数据个数就加1if x % 2 == 1:count += 1
print(count)# 优化:
count = 0
# 1,3,5,7,9,11,13,...,999
for x in range(1, 1000, 2):count += 1
print(count)# 练习2:统计1000以内能被3整除但是不能被7整除的数的个数
count = 0
for x in range(1000):if x % 3 == 0 and x % 7 != 0:count += 1
print(count)# 优化:
count = 0
# 3,6,9,12,15,...996,999
for x in range(3, 1000, 3):if x % 7 != 0:count += 1
print(count)

三目运算符

1 if 表达式1 else 2运算规则: 如果表达式的结果为True,整个运算的结果就是值1,否则是值2# a 如果大于10 result是0 否则result是1
a = 100
result = 0 if a>10 else 1
print(result)# 需求:如果a大于10让a加1,否则让a减1(用三目运算符)
a= 18
a+=1 if a >10 else -1
print(a)

while 循环

1,while 循环

while 条件语句循环体2)说明
while - 关键字:固定写法
条件语句 - 可以是任何有结果的表达式(赋值语句)
: - 固定写法
循环体   -while保持一个缩进的一条或者多条语句;循环体就是会被重复执行代码3)执行过程
先判断条件语句是否为True,如果是就执行循环体;执行完循环体再判断条件语句是否为True,如果是又执行循环体
...以此类推,如果条件语句是False循环就结束

使用while循环打印5遍’hello world‘

count = 0
while count <5:count+=1print('hello w.')
  1. for 和 while的选择
如果循环次数确定使用for循环,
如果循环次数不确定就用while循环
(凡是能用for循环解决的就用for,解决不了再用while)

循环关键字

1, continue 和break -只能在循环体中使用

  • continue
    作用:结束一次循环(执行循环体时如果遇到continue,本次循环结束,进入到下一次循环)

  • break
    作用: 结束整个循环(执行循环体的时候如果遇到break,整个循环直接结束)

while True:需要重复执行的操作if 循环结束的条件:break
from random import randint
gnum = randint(0,100)
count  = 0while True:num = int(input('请输入要猜的数字'))count += 1if num == gnum:print(num,'猜对了','共猜',count,'次')breakelif num < gnum:print('猜小了')else:print('猜大了')

else关键词

  1. 完整的循环结构
for 变量 in 序列:循环体
else:代码段完整的while:循环体
else:代码段关于else:
1,else的存在不会影响原循环的执行 
2,else后面的代码会在循环结束后执行(如果循环是因为遇到break而结束就不会执行)