Python全栈工程师(for、列表)
for:
用来遍历可迭代对象的数据元素
可迭代对象是指以此获取数据元素的对象
可迭代对象包括:
字符串 str
列表 list
元组 tuple
字典 dict
语法:
for 变量列表 in 可迭代对象:
L = ["a", "abc", "中国", 123] for x in L: print(x) else: print("结束")
说明:
当循环内部使用break结束循环时,else将不再执行并且else 可以省略
range()函数:
range(stop) 从零开始,每次生成一个整数后加1操作,直到stop为止(不包含stop)
range(star,stop[,step])
从star开始每次生成一个整数后移动step,直到stop为止(不包含stop,且step可以是负数)
help(range) 查询帮助
作用:
用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)
for x in range(0, 10, 3): print(x)
说明:
range函数带调用返回的对象可用于for语句来进行依次迭代取出其中的函数
for嵌套:
for x in range(5): for y in range(3): print(x, y, "ABC")
continue:
用于循环语句中(while、 for )不再执行本次循环内continue之后的语句
重新开始一次新的循环
for x in range(10): if x % 2 == 0: continue print(x)
说明:
在while中直接跳到真值表达式重新判断
在for中直接将可迭代对象内的元素绑定到下一个再次循环
列表 list:
列表是一种容器(通常用来储存计算机的数据对象)
列表是可以被改变的序列
是由一系列特定元素组成的 元素与元素之间可能没有任何关联关系
但他们由先后顺序关系
空列表创建方式:
L=[ ]
列表是可迭代对象:
非空列表创建方式:
空列表: L = [] 非空列表: L = [1, 2, 3, 4] L = ["a", "b", "c"] L = [1, 2, ["a", "b", "c", "d"], 3, 4]
列表的构造函数list:
list()等于空列表
list(iterable)用可迭代对象创建一个列表
列表的运算:
+ 用于拼接列表
+= 用于将右侧的可迭代对象的数据追加到原列表中
* 用于生成重复列表
*=
列表的比较运算:
< <= > >= == !=
比较规则和字符串完全相同
列表的in、notin:
判断一个元素是否存在于列表中 如果纯在返true否则false
in 和 nat in 返回值相反
练习:
1.用for实现:
输入一个数W代表正方形的宽度:
如
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
答案:
a = int(input("plaese input at will integer:")) for x in range(1, a + 1): for y in range(1, a + 1): print(y, end = " ") print()
改写上上题:
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
第一种:
a = int(input("plaese input at will integer:")) for x in range(1, a + 1): for y in range(x, a + x): print("0%2d" % y, end = " ") print()
第二种:
a = int(input("plaese input at will integer:")) for x in range(1, a + 1): for y in range(x, a + x): print(y, end = " ") print()
2.
输入任意文字,存于列表L中,当不输入任何内容直接回车后结束输入
打印L列表中的内容
计算你共输入几行内容、和多少个字符
答案:
L = [] i = 0 while True: a = input("plaese input at will string:") if a == "": break i += len(a) L += [a] print(''' L = : %s you have entered:%d row %d Entries character ''' % (L, len(L), i))
3.
输入一个整数 (代表树干高度)
打印出如下一颗树
输入:2
*
***
*
*
输入3
*
***
*****
*
*
*
答案:
a = int(input("plaese input at will integer:")) for x in range(1, a * 2, 2): print(("*" * x).center(a * 2)) else: for s in range(1, a * 2, 2): print("*".center(a * 2))
4.
任意输入一个整数 判断这个数是否是素数(prime)
素数也叫质数,是只能被1和自身整除的数:
如:2 3 5 7 11 等
提示:
用排除法:判断x是否是素数是,只要让x分别除以:2 3 4 5 ...-1
只要整除了 那x不是素数,否则x是素数
答案:
a = int(input("plaese input at will integer:")) for x in range(2, a): if a % x == 0: s = "it's not a prime" break else: s = "This is a prime" print(s
5.
算出100 ~ 1000以内的水仙花数(naricissistic)
水仙花数是指百位的3次方 加上十位的3次方 加上各位的3次方等于原数的数
153=1**3+5**3+3**3 153 370
答案:
for x in range(100, 1000): if (x // 100) ** 3 + ((x % 100) // 10) ** 3 + (x % 10) ** 3 == x: print(x)
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java编程微服务架构框架-监控与管理(SpringBoot)
在微服务架构中,我们将原本庞大的单体系统拆分成多个提供不同服务的应用。 虽然 各个应用的内部逻辑因分解而得以简化,但是由于部署应用的数量成倍增长,使得系统的 维护复杂度大大提升。 对于运维人员来说,随着应用的不断增多,系统集群中出现故障的 频率也变得越来 越高,虽然在高可用机制的保护下,个别故障不会影响系统的对外服务, 但是这些频繁出现的故障需要被及时发现和处理才能长期保证系统处千健康可用状态。 为 了能对这些成倍增长的应用做到高效运维,传统的运维方式显然是不合适的,所以我们需 要实现一套自动化的监控 运维机制,而这套机制的运行基础就是不间断地收集各个微服务 应用的各项 指标情况,并根据这些基础指标信息来制定监控和预警规则,更进一步甚至做 到一些自动化的运维操作等。 为了让运维系统能够获取各个微服务应用的相关指标以及实现一些常规操作控制,我 们需要开发一套专门用于植入各个微服务应用的接口供监控 系统采集信息。 而这些接口往 往有很大一 部分指标都是类似的, 比如环境变量、 垃圾收集信息、 内存信息、 线程池信息 等。 既然这些信息那么通用,难道就没有一个标准化的实现框架吗? 当我们决定...
- 下一篇
生活中的设计模式——启程之前,请不要错过我
两年前CSDN出一个产品叫ink,旨在提供一个高质量写作环境。那时就有写这一系列的想法了,而且也确实写了,就在ink里写了三篇文章,后来不知道因为什么原因这个产品下架了,我的三篇文章也没了,这事也就一直被我搁置下来,直到今天。今天,我想重新开始,以全新的方式和思路重写这一系列文章! 文章的特点:从生活的小故事开始,由浅入深,逐步阐述设计模式的思想,并抽象出代码模型(骨架)。追求的境界:用最通俗的语言阐述最难懂的概念;用最简单的语法实现最复杂的逻辑;用最短小的代码写出最强悍的程序! 为什么叫设计模式 什么是设计模式 设计模式最初是被GoF于1995年提出的。GoF全称是Gang of Four(四人帮),即Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides。他们四人于1995年出版了一本书《Design Patterns: Elements of Reusable Object-Oriented Software》(翻译成中文是《设计模式 可复用面向对象软件的基础》),第一次将设计模式提升到理论高度,并将之规范化。该书提出了23种经...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8编译安装MySQL8.0.19
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7