前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >循环结构

循环结构

原创
作者头像
uniQue_cjh
发布2023-07-02 21:34:53
1500
发布2023-07-02 21:34:53
举报
文章被收录于专栏:cjh学习笔记cjh学习笔记

便利循环for

-语法结构

for 循环变量 in 遍历对象:

语句块

-便利对象

·字符串

·文件

·组合数据类型

·range()函数等(产生一个n到m的函数序列,包含n,不包含m)

代码语言:javascript
复制
#遍历字符串
for i in 'hello':
    print(i)
输出结果
输出结果
代码语言:javascript
复制
#便利range()函数,range()产生一个n到m的函数序列,包含n,不包含m
for i in range(1,5):
    print(i)
代码语言:javascript
复制
#输出结果
1
2
3
4
代码语言:javascript
复制
#计算累加和
sum = 0
for i in range(1,11)
    sum += i
print('1-10之间的累加和:',sum)
代码语言:javascript
复制
#输出结果
1-10之间的累加和:55
代码语言:javascript
复制
#计算三位水仙花数
'''
153
1*1*1+5*5*5+3*3*3=153
python中整除为'//',此处为了格式一致写为'/'
'''
for i in range(100,1000)
    ge = i % 10   #获取个位数
    shi = i / 10 % 10  #获取十位数
    bai = i / 100  #获取百位数
    if i == ge*ge*ge+shi*shi*shi+bai*bai*bai  #if i == ge**3+shi**3+bai**3
        print(i)
代码语言:javascript
复制
#输出结果
153
370
371
407

遍历循环的扩展模式

-语法结构

for 循环变量 in 遍历对象

语句块1

else:

语句块2

-else语句只在循环正常结束后才执行

-通常与break和continue语句一起使用

代码语言:javascript
复制
sum = 0
for i in range(1,11)
    sum += i
else:
    print('1-10之间的累加和:',sum)
代码语言:javascript
复制
#输出结果  
1-10之间的累加和:55
'''
结果未变,但是程序的逻辑结构改变了
'''

无限循环while

-通过一个条件来控制是否要继续反复执行循环体中的语句

-语法结构

while 表达式:

语句块

-执行流程

·当表达式的值为True时,执行语句块

·当表达式的值为False时,跳过语句块而执行语句块后面的代码

代码语言:javascript
复制
answer=input('今天上课吗y/n')  #1.初始化变量
while answer == 'y':   #2.条件判断
    print('好好学习,天天向上') #3.语句块
    answer=input('今天要上课吗y/n') #4.改变变量
代码语言:javascript
复制
#1-100之间的累加和
sum = 0 #存储累加和
i = 1 #初始化变量i
while i<=100: #条件判断
    sum += i  #循环体
    i += 1    #改变变量
print('1-100之间的累加和:',sum)

无限循环while扩展结构

-语法结构

while表达式:

语句块1

else:

语句块2

-else语句只在循环结构之后才执行

-通常与break和continue一起使用

代码语言:javascript
复制
#1-100之间的累加和
sum = 0 #存储累加和
i = 1 #初始化变量i
while i<=100: #条件判断
    sum += i  #循环体
    i += 1    #改变变量
else:
    print('1-100之间的累加和:',sum)
代码语言:javascript
复制
#实现模拟登陆 三次登录机会
i = 0 #统计循环执行次数
while i < 3:
    user_name = input('请输入您的用户名:')
    password = input('请输入您的密码:')
    if user_name == 'cjh' and password == '123456'
        print('系统正在登陆,请稍后')
        i = 4
    else:
        if i < 2:
            print('用户名或密码输入不正确,您还有'2-i'次机会')
        i += 1  #改变循环变量
if i = 3: #当用户名或密码输入不正确时,循环执行结束,i的最大值为3
    print('对不起,三次输入错误')

嵌套循环练习

#打印三行四列的‘*’

代码语言:javascript
复制
#打印图形时:外层控制行数,内层控制列数
for i in range(1,4):
    for j in range(1,5):
        print('*',end='')
        #换行
    print()

#输出一个直角三角形

代码语言:javascript
复制
for i in range(1,6):
    for j in range(1,i+1):
        print('*',end='')
    print()

#输出一个倒直角三角形

代码语言:javascript
复制
for i in range(1,6):
    for j in range(1,7-i): #range范围含左不含右
        print('*',end='')
    print()

#输出一个等腰三角形

代码语言:javascript
复制
for i in range(1,6):
    for m in range(1,6-i):
        print(' ',end='')
    for n in range(1,2*i):
        print('*',end='')
    print()

#输出一个菱形

代码语言:javascript
复制
#请输入菱形的行数
row = eval(input('请输入菱形的行数:'))

#上半部分
top_row = (row+1)//2  #上增部分的行数
for i in range(1,top_row+1):
    for m in range(1,top_row+1-i):
        print(' ',end='')
    for n in range(1,2*i):
        print('*',end='')
    print()

#下半部分
bottom_row = row//2
for i in range(1,bottom_row+1):
    #直角三角形
    for j in range(1,i+1):
        print(' ',end='')
    #倒三角形
    for m in range(1,2*bottom_row-2*i+2):
        print('*',end='')
    print()

#输出空心菱形

代码语言:javascript
复制
#请输入菱形的行数
row = eval(input('请输入菱形的行数:'))

#上半部分
top_row = (row+1)//2  #上增部分的行数
for i in range(1,top_row+1):
    for m in range(1,top_row+1-i):
        print(' ',end='')
    for n in range(1,2*i):
        if n==1 or n==i*2-1:  #只在开始和最后输出
            print('*',end='')
        else:
            print(' ',end='')
    print()

#下半部分
bottom_row = row//2
for i in range(1,bottom_row+1):
    #直角三角形
    for j in range(1,i+1):
        print(' ',end='')
    #倒三角形
    for m in range(1,2*bottom_row-2*i+2):
        if m==1 or m==2*bottom_row-2*i+2-1:
            print('*',end='')
        else:
            print(' ',end='')
    print()

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 便利循环for
    • -语法结构
      • -便利对象
      • 遍历循环的扩展模式
        • -语法结构
          • -else语句只在循环正常结束后才执行
            • -通常与break和continue语句一起使用
            • 无限循环while
              • -通过一个条件来控制是否要继续反复执行循环体中的语句
                • -语法结构
                  • -执行流程
                  • 无限循环while扩展结构
                    • -语法结构
                      • -else语句只在循环结构之后才执行
                        • -通常与break和continue一起使用
                        • 嵌套循环练习
                          • #打印三行四列的‘*’
                            • #输出一个直角三角形
                              • #输出一个倒直角三角形
                                • #输出一个等腰三角形
                                  • #输出一个菱形
                                    • #输出空心菱形
                                    领券
                                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                                    http://www.vxiaotou.com