python 循环总结

简介:

        循环语句常被用来执行一些需要反复执行的代码

        在python中我们循环的语句有  while循环和for循环,其中while和for的循环各自的用法和用途有一定的区别

语法格式

while  循环条件:

                循环体

  • while      :命令
  • 循环条件: while循环条件 布尔类型(True  Flase)   当循环为True时继续循环

                       当条件为Flase时则中断循环  其中条件判断语句有  <, >,  ==,  <=, >=, !=等等

  • 循环体   :

    for    迭代的变量   in  迭代的对象

              循环体

  • for              :命令
  • 迭代变量    :迭代的变量是根据迭代的对象来确定范围的  也可以自定义初始的范围
  • 迭代的对象 :迭代的变量可以是有序的列表 也可以是用range函数自定义范围
  • 循环体        :

range (初始值,最终值,步长)

简单来说range函数就是设定一个值的范围(前闭后开)同时规定他的步长值

  • 初始值:从用户设定的值开始,默认为0为初始值
  • 最终值:表示用户生成的最多数字但不包括此数字
  • 步长:指的是初始值于最终值每一次执行的差值
  • 列如:
    x = range(1,20,3)
    for i in x:
        print(i,end=" ")
    
    1 4 7 10 13 16 19 

                

break命令

               break命令用于结束的当前的循环体(注意只能跳出当前的循环体并不能跳出嵌套的循环体)

continue命令

                continue命令用于结束当前的循环并且开始下一次的循环(注意continue是结束当前循环并不会跳出循环语句而break是直接跳出循环体)

示例:

      whlie循环:

#求1-100的和
i = 1
sum = 0
while i <= 100:
    sum += i
    i += 1
print(sum)

#死循环
while True:
    print("循环体")

#break的使用
i = 10
while True:
    if i == 100:
        break
    i += 10
print(i)

# continue的使用
i = 0
while i < 10:
    i += 1
    if i % 2 == 0:
        continue
    print(i,end=" ")
else:
    print("当条件不在成立时我们也可以再运行一次代码")

1 3 5 7 9   当条件不在成立时我们也可以再运行一次代码

    for循环:

for i in range(0,6,1):
    if i == 4:
        break
    print(i,end=" ")

0 1 2 3 

for i in range(1,5,1):
    if i == 4 or i == 2:
        continue
    print(i,end=" ")

1  3


# for遍历字符串
str = "abcdef"
for i in str:
    print(i,end=" ")
print()

#for循环遍历列表
ls = [1,3,4,6,8,2]
for i in ls:
    print(i,end=" ")
print()

#使用range函数确定数值范围
for i in range(1,10,2):
    print(i,end=" ")
else:
    print("当循环执行完后执行的语句,for使用break语句跳出循环时不执行此语句")

for i in range(1,10,2):
     pass #pass 当写了无内容语句时 可以用pass语句来代替循环体 从而不报错


a b c d e f 
1 3 4 6 8 2 
1 3 5 7 9 

 嵌套循环:

                使用for和while循环时可以根据具体的需求互相嵌套 列如在for循环中嵌套while  在while循环中嵌套for

                嵌套循环是指在外层循环一次内层循环所有循环如此反复



for i in range(1,5,1):
    for i in range(0,i,1):
        print(i,end=" ")
    print()

0 
0 1 
0 1 2 
0 1 2 3 

for i in range(0,3,1):
    while i < 3:
        print(f"第{i}层循环",end=" ")
        i += 1
    print()

第0层循环 第1层循环 第2层循环 
第1层循环 第2层循环 
第2层循环 

案列展示:

        

n = int(input("请输入你要打印的层数:"))
for x in range(1,n+1,1):
    print("\t" * (n - x),end="")
    for i in range(0,x,1):
        print(f"{2 ** i}\t",end="")
    for j in range(x - 2, -1,-1):
        print(f"{2 ** j}\t", end="")
    print()

 

num = int(input("请输入十进制数:"))
list = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
list1 = []
str = ''
while True:
    if num < 16 :
        list1.append(list[num])
        break
    while True:
        if num >= 16:
            num1 = int(num % 16)
            num2 = int(num / 16)
            num = num2
            list1.append(list[num1])
            if num2 < 16:
                list1.append(list[num2])
                break
    break
for i in range(len(list1), 0, -1):
    str += list1[i-1]
print(str)
#print(list1[::-1]

# 计数查找
 
ls = [1,5,4,7,8,3,4,5]       #设定一个列表
ls1 = []                     #设立一空列表
num = max(ls)-min(ls)+1      #统计列表的数字的范围
# print(num)
offset = min(ls)             #设定偏移量
for i in range(0,num):       #循环列表统计ls列表的范围并赋值为0
    ls1.insert(i,0)
# print(ls1)
for i in range(len(ls)):     #对ls列表的元素计数并且赋值到ls1
    ls1[ls[i]-offset] += 1
# print(ls1)
for i in range(len(ls)):     #将列表ls排序后输出
    # print(i,end=" ")
    for j in range(0,ls1[i]):
        print(i+offset,end=" ")


# #二分查找   求出列表的下标范围  并且赋值 利用代码算出中间值 并和要查找的数字比较大小 从而不断缩小范围

n = int(input("请输入你要查找的数字"))
ls = [1,4,6,7,8,9,10,11,14,16]
left = 0
right = len(ls)-1
while left <= right:
    mind = (right + left) // 2       # 计算中间值的下标
    if n > ls[mind]:                 # 比较大小
        left = mind + 1
    if n < ls[mind]:
        right = mind - 1
    if n == ls[mind]:                #相等就输出并且退出循环
        print(f"你要查找的数字下标是:{mind}")
        break
else:
    print("你所查找的数字不存在")

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,循环循环是指在一个循环的主体中再嵌套另一个循环的情况。对于这种情况,我们需要了解两个关键点。 首先,当内循环中使用break语句时,只会退出内循环,不会影响外循环。也就是说,break只会结束当前层级的循环。 其次,在循环循环的场景中,我们可以使用一个标志变量来判断是否需要跳出外循环。比如,在第一个循环中设置一个标志变量flag,在第二个循环中检查某个条件,如果满足条件则将flag设置为0,并在内循环结束后判断flag的值。如果flag为1,即没有被内循环中的break语句影响到,那么就可以执行外循环的下一次迭代。 具体到Python代码中的写法,我们可以使用嵌套的for循环实现循环循环。比如,第一个for循环用来控制外循环的迭代次数,第二个for循环用来控制内循环的迭代次数。注意,循环的范围是根据具体情况确定的,可以通过修改循环条件来实现不同的功能。 总结起来,Python中的循环循环是通过嵌套的for循环来实现的,内循环中的break语句只会结束当前层级的循环,不会影响外循环。同时,我们可以使用标志变量来判断是否需要跳出外循环。希望这个解释对您有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python循环的嵌套](https://blog.csdn.net/qq_66823856/article/details/127604459)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值