> 文档中心 > 牛客刷题总结——Python入门05:循环语句

牛客刷题总结——Python入门05:循环语句

在这里插入图片描述

🤵‍♂️ 个人主页: @北极的三哈 个人主页

👨‍💻 作者简介:Python领域优质创作者。

📒 系列专栏:《牛客题库-Python篇》

🌐推荐《牛客网》——找工作神器|笔试题库|面试经验|实习经验内推求职就业一站解决

👉 点击链接进行注册学习

牛客刷题总结——Python入门05:循环语句

文章目录

    • 07 循环语句 NP49-NP61
      • 1.range()函数的使用
      • 2.遍历循环for-in
      • 3.无限循环while
      • 4.循环控制break和continue
        • 4.1break
        • 4.2continue
      • 5.嵌套循环
      • NP49 字符列表的长度
      • NP50 程序员节
      • NP51 列表的最大与最小
      • NP52 累加数与平均值
      • NP53 前10个偶数
      • NP54 被5整除的数字
      • NP55 2的次方数
      • NP56 列表解析
      • NP57 格式化清单
      • NP58 找到HR
      • NP59 提前结束的循环
      • NP60 跳过列表的某个元素
      • NP61 牛牛的矩阵相加
      • **`推 荐:牛客题霸-经典高频面试题库`**

07 循环语句 NP49-NP61

牛客刷题总结——Python入门05:循环语句


1.range()函数的使用

range():用于生成一个整数序列

创建range对象的三种方式

# 第一种创建方式  range(stop)range(10)print(range(10))  # range(0,10) 返回值是一个迭代器对象 默认从0开始,默认步长为1print(list(range(10)))  # 用于查看range对象中的整数序列 list-->列表# 第二种创建方式 range(start, stop)print(range(0, 10))# 第三种创建方式 range(start,stop,step)print(range(0, 10, 1))

代码:

# 第一种创建方式  range(stop)range(10)print(range(10))  # range(0,10) 返回值是一个迭代器对象 默认从0开始,默认步长为1print(list(range(10)))  # 用于查看range对象中的整数序列 list-->列表
# 第二种创建方式 range(start, stop)print(range(0, 10))
# 第三种创建方式 range(start,stop,step)print(range(0, 10, 1))    1    2    3    4    5    6    7    8    9    10    11

range()函数的返回值是一个迭代器对象

range类型的优点 :不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stopstep,只有当用到range对象时,才会去计算序列中的相关元素

'''内置函数 range(start(开始)未指定从0开始, stop(结束), step(步长)未指定步长为1)'''r = range(1, 10, 2)print(r)print(list(r))  # 列表 [1, 3, 5, 7, 9]print(tuple(r))  # 元组 (1, 3, 5, 7, 9)print(set(r))  # 字典 {1, 3, 5, 7, 9}    1    2    3    4    5    6    7

innot in 判断整数序列中是否存在(不存在)指定的整数

'''判断指定整数在序列中是否存在 in, not in'''print(3 in r)  # Trueprint(4 in r)  # Falseprint(3 not in r)  # Falseprint(4 not in r)  # Truefor value in range(10):    print(value, end=' ')    1    2    3    4    5    6    7    8

2.遍历循环for-in

for-in循环

  • in表达从(字符串、序列等)中依次取值,又称为遍历

  • for-in遍历的对象必须是可迭代对象

for-in的语法结构

for  自定义的变量  in 可迭代对象:      循环体
# for in循环# in 表达是依次 从 (字符串,序列等) 中依次取值,又称遍历# for in遍历对象必须是可迭代对象'''for in 语法结构'''# for 自定义变量 in 可迭代对象:#    循环体for i in 'hello':    print(i, end=' ')print('')for i in range(10):    print(i, end=' ')print('')# 在循环体中如果不需要使用到自定义变量,可将自定义变量写为下划线('_')for _ in range(3):   # 3表示次数    print('hello')    1    2    3    4    5    6    7    8    9    10    11    12    13    14    15    16    17

使用for循环 计算1-100之间的偶数和

# 使用for循环 计算1-100之间的偶数和sum = 0for item in range(101):    if item % 2 == 0: sum += itemprint('1-100之间的偶数和为:', sum)    1    2    3    4    5    6    7

输出100-999之间的水仙花数

'''输出100-999之间的水仙花数  这个数的个位上的三次方 + 十位上的三次方 + 百位上的三次方  = 这个数'''for item in range(100, 1000):    ge = item % 10    shi = item % 100 // 10  # item//10%10    bai = item // 100    if item == ge**3+shi**3+bai**3: print(item)    1    2    3    4    5    6    7

3.无限循环while

语法结构:

while  条件表达式:条件执行体(循环体)

四步循环法:

  • 初始化变量

  • 条件判断

  • 条件执行体(循环体)

  • 改变变量

  • 打印输出

计算0-4之间的累加和

a = 0  # 1.初始化变量s = 0while a <= 4:  # 2.条件判断    s += a  # 3.条件执行体    a += 1  # 4.改变变量    print(s)  # 5.打印输出    1    2    3    4    5    6

选择结构的if与循环结构while的区别

  • If是判断一次,条件为True执行一行
  • while是判断N+1次,条件为True执行N

4.循环控制break和continue

循环结构有两个辅助循环控制的保留字:breakcontinue

4.1break

break用来跳出最内层forwhile循环,脱离该循环后程序继续执行循环后续代码,通常与 分支结构 if 一起使用。

例:从键盘录入密码,最多录入三次,如果正确就结束循环

# for 循环for _ in range(3):  # range()函数可以用作for循环的循环次数 3 表示for执行了3次    pwd = '888'    a = input('请输入密码:')    if a == pwd: print('密码正确') break    else: print('密码错误,请重新输入密码')# while 循环,四步循环法a = 0while a < 3:    '''条件执行体(循环体)'''    b = '888'    pwd = input('请输入密码:')    if pwd == b: print('密码正确') break    else: print('密码错误')    a += 1    1    2    3    4    5    6    7    8    9    10    11    12    13    14    15    16    17    18    19    20    21    22

4.2continue

continue语句用来结束当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环,进入下一次循环,通常与分支结构 if 一起使用

例:要求输出1-50之间所有5的倍数

# for 循环for i in range(1, 51):    if i % 5 == 0: print(i)# while 循环a = 1while a <= 50:    if a % 5 == 0: print(a)    a += 1# continue 语句for item in range(1, 51):    if item % 5 != 0: continue    print(item)    1    2    3    4    5    6    7    8    9    10    11    12    13    14    15    16    17

5.嵌套循环

循环结构中又嵌套了另外的完整的循环结构,其中内层循环做为外层循环的循环体执行。

例1:打印一个三行四列矩形

for _ in range(3):    for _ in range(4): print('-', end='\t')    print()    1    2    3    4

例2:输出乘法口诀表

for i in range(1, 10):    for j in range(1, i+1): print(i, 'x', j, '=', i*j, end='\t')    print()


NP49 字符列表的长度

在线编程跳转链接

my_list=['P','y','t','h','o','n']print('Here is the original list:')print(my_list)print()print('The number that my_list has is:')print(len(my_list))

NP50 程序员节

在线编程跳转链接

users_list = ['Niuniu', 'Niumei', 'Niu Ke Le']for i in users_list:    print(f'Hi, {i}! Welcome to Nowcoder!')print("Happy Programmers' Day to everyone!")

NP51 列表的最大与最小

在线编程跳转链接

ls = [i for i in range(10, 51)]print(ls)print(ls[0], ls[-1])

NP52 累加数与平均值

在线编程跳转链接

ls = list(map(int, input().split(" ")))s = 0for i in ls:    s += iprint("{} {:.1f}".format(s, s/len(ls)))

NP53 前10个偶数

在线编程跳转链接

my_list = [i for i in range(0, 20) if i%2==0] for i in my_list:    print(i)

NP54 被5整除的数字

在线编程跳转链接

my_list = [i for i in range(1, 51) if i % 5 == 0]for i in my_list:    print(i)

NP55 2的次方数

在线编程跳转链接

my_list = []for i in range(1, 11):    my_list.append(2**i)for i in my_list:    print(i)

NP56 列表解析

在线编程跳转链接

ls = [i for i in range(10)]print(ls)

NP57 格式化清单

在线编程跳转链接

ls = ['apple', 'ice cream', 'watermelon', 'chips', 'hotdogs', 'hotpot']while True:    ls.pop(-1)    print(ls)    if len(ls) == 0: break

NP58 找到HR

在线编程跳转链接

users_list = ['Niuniu', 'Niumei', 'HR', 'Niu Ke Le', 'GURR', 'LOLO']for i in users_list:    if i == 'HR': print(f'Hi, {i}! Would you like to hire someone?')    else: print(f'Hi, {i}! Welcome to Nowcoder!')

NP59 提前结束的循环

在线编程跳转链接

ls = [3, 45, 9, 8, 12, 89, 103, 42, 54, 79]x = eval(input())for i in ls:    if i == x: break    print(i)

NP60 跳过列表的某个元素

在线编程跳转链接

for i in range(1, 16):    if i == 13: continue    print(i, end=" ")

NP61 牛牛的矩阵相加

在线编程跳转链接

n = int(input()) print([[j*n for j in i] for i in [[1, 2, 3], [4, 5, 6], [7, 8, 9]]])

推 荐:牛客题霸-经典高频面试题库

🌐 找工作神器-|笔试题库|面试经验|大厂面试题 👉 点击链接进行注册学习
牛客刷题总结——Python入门05:循环语句

驱动天空下载