while 循环结构

文章介绍了Python编程中的循环控制结构,包括while循环的基本使用,展示了计算连续数字之和的例子。同时,讲解了break和continue关键字的作用,以及如何在循环中使用它们来控制流程。此外,文章提供了用while循环打印菱形和等腰三角形的案例,以及for循环与range函数的结合使用来打印图形,最后是一个关于猴子吃香蕉问题的示例,展示了如何运用循环解决实际问题。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档



一、while 循环:循环的作用就是让指定的代码重复的执行

while 条件:

               # 循环体

         

n = int(input(""))  

index = 1 #定义一个整数变量作为初始值
count = 0 #定义和为count
#开始循环
while index <= n:      #定义循环范围
    count += index     #每次循环,让n这个变量和i这个计数器相加
    index += 1         #index的数值加1进入下次循环

#当index的值 > n 的值时跳出循环 
print("从1-"+str(n)+"的和是:"+str(count)) #循环结束执行print,打印从1-n的和
print("从1-"+str(n)+"的和是:"+str(count))

#可替换为

print(f"从1到{}的和是:{count}")

在开发中, 通常会遇到利用循环重复计算的需求

遇到这种需求,可以:

1.在while上方定义一个变量,用于存放最终计算结果

2.在循环体内部,每次循环都用最新的计算结果,更新之前定义的变量

需求

while 条件:

              #执行此条件

else 条件:

              #while循环执行结束,执行此条件

index = 0 #定义一个初始值
#开始循环
while index <= 3:       #定义循环条件
    index += 1          #处理计数器i,更新计数器i的值          


    print(index)        #若满足循环条件,未跳出循环,执行此处print命令

#若while循环结束,跳出循环则执行else里的命令
else:                   
    print("执行else循环条件")

二  break和continue关键字

     break关键字:终止循环

    continue关键字:结束本次循环,进入下次循环(需要看条件)

index = 0 
while index <= 100:
    if index == 50:
        break   #终止循环
        #continue

    print(index)
    index += 1

程序输出0 ~ 49 (当index=50时循环结束,print(index)不执行,故不输出50)

continue 继续执行程序

三 案列

用while循环打印菱形

n = int(input("请输入层数(层数为奇数):")) # n定义为层数,n为奇数
i = 1 # i定义为行数
k = int((n+1)/2)#定义为第k行

while i <= k:#上半部分
    print(" "*(k-i), end="")
    print("*"*(2*i-1))
    i += 1
    
i = n-1#下半部分
while i >= 1:
    j = 1 #打印空格
    while j <= n - i:
        print(" ", end="")
        j += 2
    j = 1 #打印*号   
    while j <= i-1:
        print("*",end="")
        j += 1
    print()   
    i -= 2     

 while循环打印等腰三角形

n = int(input("请输入层数"))

i = 1 # i 为行数

while i <= n:
    j = 1 
    space_num = n -i #定义空格与层数 行数的关系
    while j <= space_num:
        print(" ", end="")  #python定义自动换行end="/n",为防止换行此处改为end=""
        j += 1

    j = 1
    star_num = 2*i -1  #定义*号与层数 行数的关系
    while j <= star_num:
        print("*", end="")  #python定义自动换行end="/n",为防止换行此处改为end=""
        j += 1
    print()

    i += 1            

四  for 循环  用来迭代数据

for  变量 in 容器:

                #每一次迭代出一个元素来

count = [1,2,3,4,5]
for i count:
    print(i)

 range 函数  

range (num)    #区间范围为0到num-1[0,num-1)

range   (satrt,end)  #区间范围是[start,end)

range   (satrt,end,step) #区间范围是[start,end),同时每一次加step值    

for i in range(0,11,2):
    print(i)

 例题

用for循环和range函数打印菱形

n = int(input("请输入奇数层数:"))
k = int((n+1)/2)  #k为对称轴

#上半部分
for i in range(1,k+1):       #定义i的取值为[1,k+1)  
	print(" "*(k-i),end="")  
	print("*"*(2*i-1))

#下半部分
for i in range(1,k+1): #下半部分
	print(" "*i, end="")
	print("*"*(n-2*i))

 分析:菱形分为上下两个等腰三角形,例如一个7层的菱形,上下三层分别对称

            第四行为对称轴(n=7,k=(7+1)/2=4)当k=4时,i的取值为[1,5)

            及i取1,2,3,4 

     

有一堆香蕉,猴子每天吃一半外加一个,到第六天时还剩下一个,问这堆香蕉一共多少个?

for i in range(1,1000):
    k1 = i             #定义第一天香蕉堆香蕉的个数
    k2 = k1/2-1        #第二天香蕉的个数
    k3 = k2/2-1
    k4 = k3/2-1
    k5 = k4/2-1
    if k5/2-1 == 1:    #第六天香蕉个数为1
        print("猴子第一天一共有"+str(i)+"个香蕉")
        break

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北 染 星 辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值