当前位置: 首页 > wzjs >正文

电子商务网站推广的目的东莞seo黑帽培训

电子商务网站推广的目的,东莞seo黑帽培训,汕头市政府官网,国际外贸平台排名Python学习笔记(4) 第11节课 循环语句结构11.1 循环概述11.2 for循环语句11.3 while循环语句 第11节课 循环语句结构 11.1 循环概述 (1)循环能够解决的问题 如果需要重复执行一些代码的话,就选择使用循环结构&#…

Python学习笔记(4)

  • 第11节课 循环语句结构
    • 11.1 循环概述
    • 11.2 for循环语句
    • 11.3 while循环语句

第11节课 循环语句结构

11.1 循环概述

(1)循环能够解决的问题

如果需要重复执行一些代码的话,就选择使用循环结构(递归)

  • 遍历一组数据:将一组数据中的每一个元素都进行访问
  • 寻找特定数据:就是在遍历的基础上,对每一个元素进行判断,直到寻找到目标
  • 批量处理数据:还是在遍历的基础上,对每一个元素都做相同的操作
  • 重复指定次数:重复跟一组数据没关系,就是重复执行直到条件满足或者不满足
  • 模拟数学规律:就是将数学当中的一些经典问题,可能需要用到循环来解决

(2)循环四要素

当我们在去分析一个循环问题时,必须先考虑以下四点:

  • 循环的开始:循环从哪里开始,起点一般我们使用变量来标记的
  • 循环的继续条件:反过来说就是结束条件,用于判断循环是否继续执行的;(循环全部执行完毕,中途结束)
  • 循环体:需要被重复执行的内容
  • 循环的控制变量:用于控制循环的进度
条件满足
条件不满足
控制变量初始化
继续条件 判断控制变量
循环体
结束
更新控制变量

向前走10步

  • 从第1步开始,计数
  • 没到10步继续
  • 向前走的1步
  • 步数计数+1

向前走直到碰墙为止

  • 距离
  • 距离 > 0
  • 向前走1步 距离递减
  • 距离的数值

11.2 for循环语句

(1)for循环基本使用

for 可以用于遍历可迭代对象的(字符串、列表、元组等),最常见的就是和 range() 函数搭配使用。

range(start, stop, step),产生一组数字,用于 for 进行遍历

  • start:起点 必须是整数
  • stop:终点 必须是整数 不取
  • step:步长 必须是整数 默认就是1
range(10) # start = 0, stop = 10, step = 1 : [0,10) 	[0,1,2,3,4,5,6,7,8,9]
range(2, 10) # start = 2, stop = 10, step = 1 :[2,10) 	[2,3,4,5,6,7,8,9]
range(1,10,2) # start = 1, stop = 10, step = 2: [1,10) 	[1,3,5,7,9] 

语法格式:

for 迭代变量 in range(a,b,c):循环体
for i in range(10):print(i, end = " ")
# 0 1 2 3 4 5 6 7 8 9 
print()
# 循环的开始:i = 0
# 循环的继续条件:i < 10
# 循环体:print(i, end = " ")
# 循环控制变量:i = i + 2
for i in range(0, 10, 2):print(i, end = " ")
# 0 2 4 6 8

案例:寻找最值(for基本)

"""
提示用户输入n个数字
然后在n个数字当中,找到最小值和最大值
"""
# 1.输入一个 n
n = int(input())
min_value = None
max_value = None
# 2.开启循环 执行 n 次
for i in range(n):# 3. 输入数字num = int(input())# 4.将第1个数字充当最小值和最大值if min_value == None and max_value == None:min_value = nummax_value = numelse:# 5.开始对比if num < min_value:min_value = numelse:max_value = num
print(min_value)
print(max_value)

案例:计算平均数(for基本)

"""
输入一个 n 表示要输入元素的个数
然后输入 n 次
"""
# 1.输入 n
n = int(input())# 2.开启循环 执行 n 次
add_sum = 0
for _ in range(n):# 3.输入一个数字num = int(input())add_sum += numprint(add_sum / n)

案例:判断素数(for基本)

"""
除了1和本身之外,若还有其他除数则为合数
否则为素数
15
2 3 4 5 6 7 8 9 10 11 12 13 14i
"""
num = int(input())
for i in range(2, num):if num % i == 0:print("不是素数")break
else: # 循环全部执行完毕后print("是素数")

案例:蒙特卡罗模拟(for基本)

"""
用统计学的思路来去估算 π"""
import random
# 1.输入随机生成点的个数 n
n = int(input())# 2.统计落在圆的点的个数
points = 0# 3.随机生成n个点
for _ in range(n):# 随机生成-1~1之间的小数x = random.uniform(-1.0, 1.0)# 随机生成-1~1之间的小数y = random.uniform(-1.0, 1.0)distance = (x ** 2 + y ** 2) ** 0.5if distance <= 1:points += 1pi = 4 * points / n
print(pi)

(2)循环控制语句

break 它可以在循环的执行当中来终止循环,也就意味着循环不一定非要完全执行完毕

num = int(input())
for i in range(5):if num == 3:breakelse:print(num)num = int(input())

一般break语句都会结合else语句来使用:

for ...if ...break
else:# 循环没有被break中断时(正常执行完毕),执行的内容

案例:是否连续递增(for-break)

"""
意思就是说 让用户连续输入n个数字
判断这n个数字是否是连续递增的
1 2 3 4 5 OK
1 1 1 1 1 OK
1 1 2 3 3 OK
1 1 2 0 1 NO
"""
# 输入数据的个数 n
n = int(input())
# 前者变量
first = -99999999
# 连续输入n个数
for _ in range(n):# 输入数字num = int(input())if first == -99999999:first = numelse:if first <= num:first = numelse:print("不是连续递增")break
else:print("是连续递增")

案例:密码验证(for-break)

"""
比如在一个网页登录界面,需要输入用户名和密码
密码最多验证3次,超过3次则冻结账号
"""
# 假设一个密码
password = "123456"# 定义一个剩余机会的变量
count = 3
# 循环指定3次
for _ in range(3):user_passwd = input()count -= 1if user_passwd != password:print(f"密码错误!你还剩{count}次机会!")else:print("密码正确,成功登录!")break
else:print("你的账号已被冻结!")

continue 跳过当前循环,开启下一次循环

for ...if ...continue# 当执行continue时候 循环体中后面的代码 则不执行# 开启一下个循环

案例:100以内不能被3或5整除的数(for-continue)

# 开启循环来去遍历1~100的整数
# for num in range(1, 101):
#     if num % 3 == 0 or num % 5 == 0:
#         continue
#     print(num)# for num in range(1, 101):
#     if not (num % 3 == 0 or num % 5 == 0):
#         print(num)for num in range(1, 101):if num % 3 != 0 and num % 5 != 0:print(num)

案例:正数的平均值(for-continue)

"""
提示用户输入 n
提示用户输入 n个 整数 正/负
-2 2 -1 1 3
正数的个数 正数的和
"""
# 正数的个数
count = 0# 正数的和
positive_sum = 0# 提示用户输入一个 n
n = int(input("请输入n:"))# 开启一个循环执行n次用于输出数据
for _ in range(n):num = int(input("请输入数字:"))if num < 0:# 是否必须要在这里写continuecontinue else:count += 1positive_sum += numif count == 0:print("0.0")
else:print(positive_sum / count)

pass 过,当你不太确定循环体怎么去写的时候,可以临时用pass来代替,为了避免程序报错

if-else语句当中也可以写pass 包括后面讲函数时 函数体也可以写pass

for i in range(1, 100):# 循环体先空着
print("别的代码") # IndentationError 非法缩进异常问题for i in range(1, 100):# 循环体先空着pass
print("别的代码")

(3)循环嵌套

语法格式:

for ...			# O(n)for ...		# O(n^2)for ...	# O(n^3)

我所说的时间复杂度指的是最坏情况,并不代表三层for循环的时间复杂度一定是O(n3),还得看具体的执行次数

对于初学者而言,千万别一上来就构建循环嵌套,而是先把多个一层循环写完后,再找规律,依次将一层循环进行合并同类项,构建成最终的循环嵌套。

案例:打印矩形(for嵌套)

*****
*****
*****
*****
*****
row = 5
col = 8
# for i in range(col):
#     print("*", end = "")
# print()# for i in range(col):
#     print("*", end = "")
# print()# for i in range(col):
#     print("*", end = "")
# print()# for i in range(col):
#     print("*", end = "")
# print()# for i in range(col):
#     print("*", end = "")
# print()# 0 1 2 3 4
# i
for i in range(row):# 0 1 2 3 4 5 6 7#         jfor j in range(col):print(f"{i},{j}")print("*", end = "")print()

案例:打印直角星(for嵌套)

*
**
***
****
*****
******
# # 第1行
# for i in range(1):
#     print("*", end="")
# print()# # 第2行
# for i in range(2):
#     print("*", end="")
# print()# # 第3行
# for i in range(3):
#     print("*", end="")
# print()# # 第4行
# for i in range(4):
#     print("*", end="")
# print()# # 第5行
# for i in range(5):
#     print("*", end="")
# print()# # 第6行
# for i in range(6):
#     print("*", end="")
# print()for n in range(1, 7):for i in range(n):print("*", end="")print()

案例:打印反直角星(for嵌套)

    **********
*****
"""#  *
####*   4   1
###**   3   2
##***   2   3
#****   1   4
*****   0   5
"""
# # Line 1
# for i in range(4):
#     print("#", end="")
# for i in range(1):
#     print("*", end="")
# print()# # Line 2
# for i in range(3):
#     print("#", end="")
# for i in range(2):
#     print("*", end="")
# print()# # Line 3
# for i in range(2):
#     print("#", end="")
# for i in range(3):
#     print("*", end="")
# print()# # Line 4
# for i in range(1):
#     print("#", end="")
# for i in range(4):
#     print("*", end="")
# print()# # Line 5
# for i in range(0):
#     print("#", end="")
# for i in range(5):
#     print("*", end="")
# print()# k + n = 5
# n = 1 2 3 4 5
# k = 4 3 2 1 0
# k = 5 - n
for n in range(1, 6):for i in range(5 - n):print(" ", end="")for i in range(n):print("*", end="")print()# k + n = 5
# n = 1 2 3 4 5
# k = 4 3 2 1 0
# k = 5 - n
for k in range(4, -1, -1):for i in range(k):print(" ", end="")for i in range(5 - k):print("*", end="")print()

案例:打印乘法口诀表(for嵌套)

"""
1 × 1 = 1
2 × 1 = 2 2 × 2 = 4
3 × 1 = 3 3 × 2 = 6 3 × 3 = 9
...
1:1
2:1 2
3:1 2 3
...
9:1 2 3 4 5 6 7 8 9
"""
# for i in range(1, 2):
#     print(f'1 × {i} = {1 * i}', end=" ")
# print()# for i in range(1, 3):
#     print(f'2 × {i} = {2 * i}', end=" ")
# print()# for i in range(1, 4):
#     print(f'3 × {i} = {3 * i}', end=" ")
# print()
for i in range(1, 10):for j in range(1, i + 1):print(f'{i} × {j} = {i * j:2}', end=" ")print()

案例:找出2~100内所有素数(for嵌套)

count = 0 # 记录素数个数的
for num in range(2, 101):for i in range(2, num):if num % i == 0:breakelse:print(f'{num:2}', end=" ")count += 1# 每10个数换行if count % 10 == 0:print()

11.3 while循环语句

(1)while循环基本使用

如果循环问题能够直接看到循环次数,一般选择用for

循环问题摸不清执行次数,但至少有结束条件的话,一般选择用while 翻译 “一直执行,直到不满足条件时结束”

循环的开始
while 循环的继续条件:循环体更新循环控制变量for i in range(1,10,2):print(i)
循环的开始:i = 1
循环的继续条件:i < 10
循环体:print(i)
更新循环控制变量: i = i + 2

当然了,while当中也可以结合 break、continue、pass去使用

案例:打印前50个素数(while基本)

count = 0 # 记录素数个数的
num = 2 # 从2开始找素数
while count < 50:# 素数判断for i in range(2, num // 2 + 1): # 也可以开根号if num % i == 0:breakelse:print(f'{num:3}', end=" ")count += 1 # 只有找到素数了 统计+1if count % 10 == 0:print()# 无论num当前是不是素数 都要向后进行遍历num += 1

(2)while-True结构

语法格式:

while True:循环内容

很容易出现死循环的问题,如何规避呢,注意 while-True当中必须出现break这个关键字

while True:循环的开始/更新循环的控制变量循环的结束条件if ...:break循环体更新循环的控制变量

案例:计算数学公式(while-True)

"""
一直询问计算机去计算一个数学公式 1+2+3
直到用户输入 quit 或者 exit 结束循环
"""
# expression = input("请输入一个公式:")
# while expression != "quit()" or expression != "exit()":
#     print(eval(expression))
#     expression = input("请输入一个公式:")while True:expression = input("请输入一个公式:")if expression == "quit()" or expression == "exit()":print("结束")break # 千万别忘了 千万别忘了 千万别忘了print(eval(expression))
http://www.dtcms.com/wzjs/330613.html

相关文章:

  • 凡科建设网站入门版好不seo的优化技巧和方法
  • 做网站的图片的内存台州seo
  • 为什么做网站比app便宜seo技术最新黑帽
  • 福建龙岩有哪些网络平台北京seo课程培训
  • 上海网站建设备案号怎么恢复苏州seo网站推广哪家好
  • 拍摄宣传片费用明细seo技术培训价格表
  • 网站模版 下载工具seo快排优化
  • 公司网站建设好搜索推广代运营
  • 做网站简历怎么写国际新闻头条最新消息
  • 广州 四合一网站开发网站竞价推广托管公司
  • .net 做手机网站吗网站推广优化外链
  • 自建网站平台阿亮seo技术顾问
  • 石家庄网站制作设计郑州seo服务技术
  • 做网站会用到的代码单词十种营销方式
  • 视频推广网站百度关键词推广可以自己做吗
  • 张家港网站定制整站优化和单词
  • 黄骗免费网站平台营销
  • app和网站的关系seo百科大全
  • 国外高清视频素材网站推荐谷歌排名推广公司
  • 如何建设一个自己 的网站知乎推广合作
  • 网站开发要花多少钱赣州seo外包
  • 做详情页不错的网站陕西新闻今日头条
  • 网站收录查询代码合肥网站优化推广方案
  • 做盗版小说网站犯法吗南宁网站运营优化平台
  • 电商网站策划如何开一个自己的网站
  • 设置wordpress首页显示文章摘要seo研究中心倒闭
  • 网站论坛做斑竹关键词搜索网站
  • 网站开发最好用什么语言seo技巧分享
  • 铜山区规划建设局网站怎么在百度上免费做广告
  • 做网站互联网公司排名培训学校怎么招生