【马士兵】Python基础--05(循环)

2023-11-01

Python基础–05

range函数

在这里插入图片描述

这个函数生成的是一个整数序列,他的返回值是一个迭代器对象,所以直接print它是没有用的,输出不了里面的值

所以要看它里面的值的话,得把他列表化,然后print才可以打印出来

range函数一般有三种书写方式:

1.如果只写一个参数,那么就默认这个参数是终止值,他的起始值默认是0,他的步长默认是1,就会产生一个以0开始,到终止值-1且步长为1的列表序列

a=range(20)
print(a)                    #输出range(0, 20)
print(list(a))              #输出[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

2.如果只写两个参数,那么这两个参数的第一个默认为起始值,第二个数默认为终止值,步长还是默认为1,会产生以第一个数为起始值,第二个数为终止值的步长为1的列表序列

a=range(10,20)
print(list(a))              #输出[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

3.如果写三个参数,那么这三个参数中第一个参数默认为起始值,第二个参数默认为终止值,第三个参数默认为步长,他就会产生以第一个数为起始值,第二个数为终止值,第三个数为步长的列表序列

a=range(10,20,3)
print(list(a))              #输出[10, 13, 16, 19]

4.一般用in 或者not in来判断在range生成的序列里面有没有这个数

print(10 in list(a))            #输出为True
print(15 in list(a))            #输出为False
print(10 in a)                  #输出为True,相当于使用了这个函数,所以就会计算这个函数,所以才会使True
print(1 in a)                  #输出为True

while循环

while的具体用法和C一样,无出其右罢了,下面只有几个代码示例

'''计算0到4的和'''
b=0
a=0
while a<=4:
    b=b+a
    a=a+1

print(b)
'''计算1-100之间的偶数和'''
'''sum=0
a=0
while a<=100:
    sum=sum+a
    a+=2

print('1-00之间的偶数和为:',sum)'''

sum=0
a=0
while a<=100:
    if not bool(a%2):			#bool将得到的对象强制转换成布尔类型True或者False
        sum = sum + a
    a+= 1
print('1-00之间的偶数和为:',sum)

for item in 迭代对象

在这里插入图片描述

运行顺序如下:

首先它会将迭代对象的值赋值给item,然后执行次数就是迭代对象的迭代次数,目前迭代对象只包括range函数和字符串,列表(由于目前我只学到这些,就先写这些)

如果你不需要使用item,可以将其替换成_,这样,你就相当于只是使用了迭代次数。

'''sum=0
for i in range(0,101,2):
    sum+=i

print(sum)'''


sum=0

for i in range(101):
    if not i%2:
        sum+=i

print(sum)

比如:求出100-999之间所有的水仙花数

在写水仙花数的时候,一定需要注意一点,python里面的/表示除法,不是整除,不能惯用C语言的知识去写

'''import  decimal
for item in range(100,1000):
    m=item

    a=decimal.Decimal(item)%decimal.Decimal(10)
    item=decimal.Decimal(item)//decimal.Decimal(10)
    b=decimal.Decimal(item)%decimal.Decimal(10)
    c=decimal.Decimal(item)//decimal.Decimal(10)
    if a**3+b**3+c**3==m:
        print(m)'''


print('--------------其实没有必要写decimal的类型')

for item in range(100, 1000):
    m = item
    a = item %10
    item = item//10
    b = item % 10
    c = item // 10
    if a ** 3 + b ** 3 + c ** 3 == m:
            print(m)

break

是用来结束循环的一个语句,一般只用在循环结构中,分支和选择结构中,不用break

他只负责控制自己所在的循环,如果在多重循环中,他只负责结束自己循环的部分,不结束外层循环

'''输入密码,输入正确立即退出,输入错误,可以尝试三次'''
print('------------for_in---------------')
for item in range(3):
    pwd=input('请输入你的密码:')
    if pwd =='8888':
        print('密码正确')
        break
    else:
        print('密码错误,请重新输入,你还可剩余输入密码次数:',2-item)


print('-----------while-------------------------')

a=0
while a<3:
    pwd = input('请输入你的密码:')
    if pwd == '8888':
        print('密码正确')
        break
    else:
        print('密码错误,请重新输入,你还可剩余输入密码次数:', 2 - a)
    a+=1


print('-----多层循环中,breake值结束自己循环的当前循环------------------------------------------')
for i in range(3):
    for j in range(5):
        if not j%2:                     #0%2的值为0,not之后变成了1,然后打印出了0
            print(j,end='\t')           #输出三行0
            break
    print()

continue

它的作用是立即跳出当前循环,进入下一循环

他只负责控制自己所在的循环,如果在多重循环中,他只负责结束自己循环的部分,不结束外层循环

""""输出1-50之间所有5的倍数"""

for item in range(1,51):
    if not item%5:
        print(item)

print('--------使用continue表示-----------------------')

for item in range(1,51):
    if item%5:
        continue
    print(item)


print('-----多层循环中,continue值结束自己循环的当前循环------------------------------------------')
for i in range(3):
    for j in range(5):
        if not j%2:
            print(j,end='\t')
            continue
    print()

else语句

有三种搭配方式

1.和if搭配:和if搭配的时候,if语句或者else语句只执行其一即可

2.和while搭配:如果while语句执行完的时候,没有出现break,则执行else,如果出现break,则不执行else

3.和for搭配:和while搭配同理

for item in range(3):
    pwd=input('请输入密码:')
    if pwd=='8888':
        print('密码正确')
        break

    else:
        print('密码错误.')

else:
    print('已经输入密码错误三次,请过90S之后再次尝试')


print('-------和while搭配-------------------')

a=0
while a<3:
    pwd = input('请输入密码:')
    if pwd == '8888':
        print('密码正确')
        break
    else:
        print('密码错误.')

    a+=1
else:
    print('已经输入密码错误三次,请过90S之后再次尝试')

循环嵌套

这个模块有三个实例

'''输出一个三行四列的矩形'''

#在print函数里面,end参数表示的是输出完成之后该做什么,默认情况下,end='\n',如果要求不换行的话,可以设置end=''或者end='\t'

for item in range(3):
    for item1 in range(4):
        print('*',end='\t')
    print('')
'''输出一个直角三角形,最后一行是9个*'''

for i in range(9):
    for j in range(1,10):
        if  j-i<=1:
            print('*', end='')
    print('')


for i in range(1,10):
    for j in range(0,i):
        print('*', end='')
    print('')
'''输出一个9*9乘法表'''

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

    print('')


for i in range(1,10):
    for j in range(0,i):
        print(i, '*', j+1, '=', i * (j+1), end='\t')
    print('')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【马士兵】Python基础--05(循环) 的相关文章

随机推荐

  • SQLI-Labs(15-17)

    目录 15关 16关 17关 15关 看到这个那么我们可以首先尝试报错或者盲注 payload or length database 8 qwe 在这里我们发现and 会报错 跟之前我们利用and爆错不一样 那为什么这里我们在post传参时
  • Dubbo是什么

    Dubbo是什么 Dubbo是一个分布式服务框架 致力于提供高性能和透明化的RPC远程服务调用方案 以及SOA服务治理方案 简单的说 dubbo就是个服务框架 如果没有分布式的需求 其实是不需要用的 只有在分布式的时候 才有dubbo这样的
  • 统计oracle 数据库 lawpeople表lawtype字段多个值只统计一次问题,按照地区分类

    select temparea name case when lawtype like 501 then 501 when lawtype like 502 then 502 when lawtype like 503 then 503 w
  • CSR867x — 如何看懂一份psr文件

    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX 作 者 文化人 XX 联系方式 XX 版权声明 原创文章 欢迎评论和转载 转载时能告诉我一声就最好了 XX 要说的话 作者
  • Dubbo路由规则:静态标签的使用与扩展

    一 路由的流程 路由是通过互联网把信息从源地址传输到目的地址的过程 而决定路由目标地址的是路由规则 在Dubbo里 路由规则在发起一次RPC调用前起到过滤目标服务器地址的作用 过滤后的地址列表 将作为消费端最终发起RPC调用的备选地址 它能
  • LeetCode 62. 不同路径

    欢迎来到茶色岛独家岛屿 本期将为大家揭晓LeetCode 62 不同路径 做好准备了么 那么开始吧 一 题目名称 LeetCode 62 不同路径 二 题目要求 一个机器人位于一个 m x n 网格的左上角 起始点在下图中标记为 Start
  • git 导出版本之间差异文件

    查看 commit id 首先用 git log 查看版本库日志 找出需要导出的 commit id git log pretty oneline 456bcbccd91278f7fdf6bf11bc73c4e3a6193c7f HEAD
  • 基于深度神经网络的社交媒体用户级心理压力检测

    User Level Psychological Stress Detection from Social Media Using Deep Neural Network 基于深度神经网络的社交媒体用户级心理压力检测 ABSTRACT It
  • 软件anyconnec-win安装下载

    anyconnec win介绍 1 安装下载地址 http www drv5 cn sfinfo 14287 html softdown 找到适合自己操作系统的版本 下载并安装 2 直接安装下载点击next就ok了 需要注意的是 下载安装完
  • IDEA小技巧

    IDEA小技巧 常用快捷键 Alt Insert 可以自动生成get set toString方法 Alt Enter 可以帮助解决各种报错 抛个异常啊 导个包啊之类的 常见行操作 Shift Enter 添加空行 相比普通换行 不管光标在
  • [Pytorch系列-48]:如何查看和修改预定义神经网络的网络架构、网络参数属性

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 121342500 目录 第1章 Fin
  • python简单作图的一些设置(4.11课堂笔记)

    1图片布局 1 画布大小 宽 高 英寸 A4 21cm 29 7cm 约7英寸 还要减去页边距 fig plt figure figsize 4 7 2 画图 纸的形状决定图的形状 2 1 不能控制图的形状 ax fig add subpl
  • 力扣每日一题:915. 分割数组【思维题】

    给定一个数组 nums 将其划分为两个连续子数组 left 和 right 使得 left 中的每个元素都小于或等于 right 中的每个元素 left 和 right 都是非空的 left 的长度要尽可能小 在完成这样的分组后返回 lef
  • Redis崩了,我成功把锅甩给了隔壁组

    项目起不来了 项目又起不来了 又双叒叕 上周经常听到组里同事说项目又双叒叕挂了 Redis连不上 笔者在另一套正常的环境忙着开发新需求 没空关心这个问题 PS 反正我的环境能用 先忙完我的再说 于是乎 看了一眼日志 连接数过多 emmm 顺
  • nodejs格式化输入

    需求 比如我现在要格式为Axxx xxx xxx是数字 的格式 但是输入有可能为A1 2这种情况 就需要补零 变成A001 002 代码实现 const regex A d d 正则匹配桩号合法格式 const match input ma
  • baidu 百度搜索 命令

    命令 含义 双引号 xx 关键字全匹配 减号 xxx 排除xxx关键字 Inurl xxx 在url中匹配关键字 intitle xxx title标签中进行匹配 Site xxx 指定域名下搜索 Filetype txt 指定文件类型 例
  • 深入理解Python装饰器与闭包

    最初学习Python时 了解到装饰器与闭包的概念 在网上看了很多博客与教程 总觉得自己的理解还是不那么透彻 最近开始学习 流畅的Python 一书 书中对与闭包和装饰器有详细的解释 我觉得写的非常到位 现在把我的理解分享出来与大家共同探讨
  • Android开发失业50天,面了10家公司,唯二的offer也主动拒了

    最近在论坛看到这样一个帖子 坐标深圳 4 月上旬公司解散 现在想想好像是假解散 真裁员 这一个半月以来 从朋友内推 到拉勾 Boss 直聘 再到猎聘 智联招聘 从开始的精准投递 到后来的海投 加起来投递了上百家公司吧 面了差不多 10 家公
  • MinGW下载并配置gcc/g++编译环境

    本文将讲解如何下载MinGW并配置gcc g 编译环境 方案一 官网下载 一 下载MinGW 在MinGW官网中下载 mingw get setup exe 官网传送门 http www mingw org 如果您下载的过程非常艰难 请采用
  • 【马士兵】Python基础--05(循环)

    Python基础 05 文章目录 Python基础 05 range函数 while循环 for item in 迭代对象 break continue else语句 循环嵌套 range函数 这个函数生成的是一个整数序列 他的返回值是一个