python快速入门【三】-----For 循环、While 循环
python入门合集:
python快速入门【三】-----For 循环、While 循环
For 循环
For循环是迭代对象元素的常用方法(在第一个示例中,列表)
具有可迭代方法的任何对象都可以在for循环中使用。
python的一个独特功能是代码块不被{} 或begin,end包围。相反,python使用缩进,块内的行必须通过制表符缩进,或相对于周围的命令缩进4个空格。
虽然这一开始可能看起来不直观,但它鼓励编写更易读的代码,随着时间的推移,你会学会喜欢它
In [1]
#取第一个列表成员(可迭代),暂称它数字(打印它)
#取列表的第二个成员(可迭代),暂时将其称为数字,等等......
for number in [23, 41, 12, 16, 7]:
print(number)
print('Hi')
23
41
12
16
7
Hi
枚举
返回一个元组,其中包含每次迭代的计数(从默认为0开始)和迭代序列获得的值:
In [2]
friends = ['steve', 'rachel', 'michael', 'adam', 'monica']
for index, friend in enumerate(friends):
print(index,friend)
0 steve
1 rachel
2 michael
3 adam
4 monica
Task
从文本中删除标点符号并将最终产品转换为列表:
On a dark desert highway, cool wind in my hair Warm smell of colitas, rising up through the air Up ahead in the distance, I saw a shimmering light My head grew heavy and my sight grew dim I had to stop for the night There she stood in the doorway; I heard the mission bell And I was thinking to myself, "This could be Heaven or this could be Hell" Then she lit up a candle and she showed me the way
(加州旅馆)
In [3]
text = '''On a dark desert highway, cool wind in my hair Warm smell of colitas, rising up through the air Up ahead in the distance, I saw a shimmering light My head grew heavy and my sight grew dim I had to stop for the night There she stood in the doorway; I heard the mission bell And I was thinking to myself, "This could be Heaven or this could be Hell" Then she lit up a candle and she showed me the way'''
In [4]
print(text)
On a dark desert highway, cool wind in my hair Warm smell of colitas, rising up through the air Up ahead in the distance, I saw a shimmering light My head grew heavy and my sight grew dim I had to stop for the night There she stood in the doorway; I heard the mission bell And I was thinking to myself, "This could be Heaven or this could be Hell" Then she lit up a candle and she showed me the way
基本上,任何具有可迭代方法的对象都可以在for循环中使用。即使是字符串,尽管没有可迭代的方法 - 但我们不会在这里继续。具有可迭代方法基本上意味着数据可以以列表形式呈现,其中有序地存在多个值。
In [5]
for char in '-.,;\n"\'':
text = text.replace(char,' ')
print(text)
On a dark desert highway cool wind in my hair Warm smell of colitas rising up through the air Up ahead in the distance I saw a shimmering light My head grew heavy and my sight grew dim I had to stop for the night There she stood in the doorway I heard the mission bell And I was thinking to myself This could be Heaven or this could be Hell Then she lit up a candle and she showed me the way
In [6]
# Split converts string to list.
# Each item in list is split on spaces
text.split(' ')[0:20]
['On',
'a',
'dark',
'desert',
'highway',
'',
'cool',
'wind',
'in',
'my',
'hair',
'Warm',
'smell',
'of',
'colitas',
'',
'rising',
'up',
'through',
'the']
In [7]
# Dont want to have non words in my list for example ''
# which in this case are things of zero length
len('')
0
In [8]
# Making new list with no empty words in it
cleaned_list = []
In [9]
for word in text.split(' '):
word_length = len(word)
if word_length > 0:
cleaned_list.append(word)
In [10]
cleaned_list[0:20]
['On',
'a',
'dark',
'desert',
'highway',
'cool',
'wind',
'in',
'my',
'hair',
'Warm',
'smell',
'of',
'colitas',
'rising',
'up',
'through',
'the',
'air',
'Up']
Continue
continue语句将转到循环的下一次迭代
continue语句用于忽略某些值,但不会中断循环
In [11]
cleaned_list = []
for word in text.split(' '):
if word == '':
continue
cleaned_list.append(word)
cleaned_list[1:20]
['a',
'dark',
'desert',
'highway',
'cool',
'wind',
'in',
'my',
'hair',
'Warm',
'smell',
'of',
'colitas',
'rising',
'up',
'through',
'the',
'air',
'Up']
Break
break语句将完全打断循环
In [12]
cleaned_list = []
In [13]
for word in text.split(' '):
if word == 'desert':
print('I found the word I was looking for')
break
cleaned_list.append(word)
cleaned_list
I found the word I was looking for
['On', 'a', 'dark']
Task (顺道介绍一下Range函数)
- 编写一个Python程序,它迭代整数从1到50(使用for循环)。对于偶数的整数,将其附加到列表even_numbers。对于奇数的整数,将其附加到奇数奇数列表中
In [14]
# Making empty lists to append even and odd numbers to.
even_numbers = []
odd_numbers = []
for number in range(1,51):
if number % 2 == 0:
even_numbers.append(number)
else:
odd_numbers.append(number)
In [15]
print("Even Numbers: ", even_numbers)
Even Numbers: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50]
In [16]
print("Odd Numbers: ", odd_numbers)
Odd Numbers: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49]
Python 2 vs Python 3 (Range函数的不同点)
python 2 xrange and python 3 range are same (resembles a generator) python 2 range生成一个list
注意: 较长的列表会很慢
更多参考: http://pythoncentral.io/pythons-range-function-explained/
While 循环
| For 循环 | While 循环 |
|---|---|
| 遍历一组对象 | 条件为false时自动终止 |
| 没有break也可以结束 | 使用break语句才能退出循环 |
如果我们希望循环在某个时刻结束,我们最终必须使条件为False
In [1]
# Everytime through the loop, it checks condition everytime until count is 6
# can also use a break to break out of while loop.
count = 0
while count <= 5:
print(count)
count = count + 1
0
1
2
3
4
5
break语句
使用break可以完全退出循环
In [2]
count = 0
while count <= 5:
if count == 2:
break
count += 1
print (count)
1
2
while True条件使得除非遇到break语句,否则不可能退出循环
如果您陷入无限循环,请使用计算机上的ctrl + c来强制终止
In [3]
num = 0
while True:
if num == 2:
print('Found 2')
break
num += 1
print (num)
1
2
Found 2
提醒:使用模运算符(%),它将数字左边的余数除以右边的数字
In [4]
# 1 divided by 5 is 0 remainder 1
1 % 5
1
In [5]
# 5 divided by 5 is 0 remainder 0
5 % 5
0
| 比较操作符 | 功能 |
|---|---|
| < | 小于 |
| <= | 小于或等于 |
| 大于 = | 大于或等于 == | 等于 != | 不等于
In [6]
x = 1
while x % 5 != 0:
x += 1
print(x)
2
3
4
5
当我们知道要循环多少次时,Range很有用
下面例子是: 从0开始,但不包括5
In [7]
candidates = list(range(0, 5))
candidates
[0, 1, 2, 3, 4]
In [8]
while len(candidates) > 0:
first = candidates[0]
candidates.remove(first)
print(candidates)
[1, 2, 3, 4]
[2, 3, 4]
[3, 4]
[4]
[]
python快速入门【三】-----For 循环、While 循环的更多相关文章
- Python快速入门PDF高清完整版免费下载|百度云盘
百度云盘:Python快速入门PDF高清完整版免费下载 提取码:w5y8 内容简介 这是一本Python快速入门书,基于Python 3.6编写.本书分为4部分,第一部分讲解Python的基础知识,对 ...
- Python快速入门
Python快速入门 一.基础概要 命名:h.py Linux命令行运行:python h.py 注释.数字.字符串: 基本类型只有数字与字符串 #python注释是这样写的 ''' 当然也可以这样 ...
- 3.Python爬虫入门三之Urllib和Urllib2库的基本使用
1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它是一段HTML代码,加 JS.CSS ...
- 转 Python爬虫入门三之Urllib库的基本使用
静觅 » Python爬虫入门三之Urllib库的基本使用 1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器 ...
- python快速入门及进阶
python快速入门及进阶 by 小强
- Python系列:三、流程控制循环语句--技术流ken
Python条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非 ...
- python基础入门之二 —— 条件、循环语句
1.条件语句 if if…else… 多重if if嵌套 三目运算符 (化简的if else) if 条件: 条件成立执行代码1 条件成立执行代码2 if False: print('if判断 ...
- php之快速入门学习-14(php-for循环)
PHP 循环 - For 循环 循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块. for 循环 for 循环用于您预先知道脚本需要运行的次数的情况. 语法 for (初始值; 条件; ...
- Python快速入门之与C语言异同
代码较长,建议使用电脑阅读本文. 10分钟入门Python 本文中使用的是Python3如果你曾经学过C语言,阅读此文,相信你能迅速发现这两种语言的异同,达到快速入门的目的.下面将开始介绍它们的异同. ...
- Python与C语言基础对比(Python快速入门)
代码较长,建议使用电脑阅读本文. 10分钟入门Python 本文中使用的是Python3 如果你曾经学过C语言,阅读此文,相信你能迅速发现这两种语言的异同,达到快速入门的目的.下面将开始介绍它们的异同 ...
随机推荐
- java -jar 启动 boot 程序 no main manifest attribute, in .\vipsoft-model-web-0.0.1-SNAPSHOT.jar
想让你的windows下 cmd 和我的一样帅吗.下载 cmder 绿色版,然后用我的配置文件,替换原来的文件启动就可以了 另外加cmder添加到右击菜单中,到安装目录中,执行下面命令 Cmder.e ...
- 微服务系列-如何使用 RestTemplate 进行 Spring Boot 微服务通信示例
概述 下面我们将学习如何创建多个 Spring boot 微服务以及如何使用 RestTemplate 类在多个微服务之间进行同步通信. 微服务通信有两种风格: 同步通讯 异步通信 同步通讯 在同步通 ...
- 详解 SSL(一):网址栏的小绿锁有什么意义?
随着互联网的飞速发展,用户信息泄漏.数据泄露等安全问题的事件频繁发生.这一切不一定是网站的问题,有时候可能是自己不经意间泄露了自己的信息.例如钓鱼网站就是日常生活中比较常见的,钓鱼网站和真实网站差别细 ...
- C++ tuple(STL tuple)模板用法详解
tuple 是C++ 11新引进的 build-in structure,但其实在其他语言中tuple的使用已经行之有年(e.g. Javascript和Python中都有tuple).C++ 11中 ...
- 拥抱开放,Serverless 时代的下一征程
Serverless 作为云计算的最佳实践和未来演进趋势,其全托管免运维的使用体验和按量付费的成本优势使得它在云原生时代备受推崇.Serverless 的使用场景也由事件驱动,数据处理等部分特定场景转 ...
- 《3D编程模式》写书记录
本书介绍 本书罗列了我从自己的实战项目中提炼出来的关于3D编程(主要包括"3D引擎/游戏引擎"."编辑器"开发)的各种编程模式 所有的写书记录 <3D编程 ...
- 关闭 cockpit 登陆提示
sudo rm /etc/issue.d/cockpit.issue sudo rm /etc/motd.d/cockpit
- Angular系列教程之生命周期钩子
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...
- SpringMVC02——第一个MVC程序-配置版(low版)
配置版 新建一个子项目,添加Web支持![在MVC01中有详细方法] 确定导入了SpringMVC的依赖 配置web.xml,注册DispatcherServlet <?xml version= ...
- [转帖]浏览器HTTP请求并发数和TCP连接的关系
https://cloud.tencent.com/developer/article/1518678 面试题目(头条): 网页中的图片资源为什么分放在不同的域名下? 浏览器与服务器建立一个TCP连接 ...