for 循环

功能

for 循环是一种迭代循环机制,迭代即重复相同的逻辑操作,每次的操作都是基于上一次的结果而进行的。并且for循环可以遍历任何序列的项目,如一个列表或者一个字符串

语法

for 循环的一般格式如下:

for <variable> in <sequence>
    <staements>

注释:variable 为变量,用于控制被迭代的对象;sequence 是可迭代的对象多为列表或者字符串

for循环实例:

str="hello"

for i in str :
    print(i)

运行结果:

D:\Anaconda3\python.exe
D:/PycharmProjects/pythonz/day1/boke.py

h

e

l

l

o

遍历序列类型:

name_list=['hu','jin','xie','xu']

for i in name_list : #通过序列迭代
    print(i)
print('\n')

for i in range(len(name_list)) : #通过索引迭代
    print('index is %s,name is %s'%(i+1,name_list[i]))
print('\n')

for i ,name in enumerate(name_list,1) : #基于enumerate的项和索引
    print('index is %s,name is %s'%(i,name))

运行结果:

D:\Anaconda3\python.exe
D:/PycharmProjects/pythonz/day1/boke.py

hu

jin

xie

xu

index is 1,name is hu

index is 2,name is jin

index is 3,name is xie

index is 4,name is xu

index is 1,name is hu

index is 2,name is jin

index is 3,name is xie

index is 4,name is xu

for语句中的range()函数

如果你需要遍历数字序列,可以使用内置range()函数,它会生成数列。

range()的语法:

range(start,end,step=1)

(1)   
range(10):默认step=1,start=0,生成的可迭代对象,包含[0,1,2,3,4,5,6,7,8,9]

(2)   
range(1,10):指定start=1,end=10, 默认step=1,生成的可迭代对象,包含[1,2,3,4,5,6,7,8,9]

(3)   
range(1,10,2): 指定start=1,end=10, step=2,生成的可迭代对象,包含[1,3,5,7,9]

例如:

for i in range(1,10,2) :
    print(i)

运行结果:

1

3

5

7

9

注:for基于range()实现计数循环,range()声称可迭代对象,说明for循环本质还是一种迭代循环

你可以结合range()和len()函数以遍历一个序列的索引,如下所示:

str=['hu','jin','xie','xu']
for i in range(len(str)) :
    print(i+1 ,str[i])

运行结果:

D:\Anaconda3\python.exe
D:/PycharmProjects/pythonz/day1/boke.py

1
hu

2
jin

3
xie

4
xu

if-else 语句

Python编程中if语句用于控制程序的执行,基本形式为:

if 判断条件:
    执行语句.....
else :
    执行语句.....

其中“判断条件”成立时(非零),则执行后面的语句,执行的内容以缩进来区分表示同一范围。else为可选语句,当条件不成立时执行相关语句,具体例子如下:

_name="leigou"

name = input("username:")
if name == _name :
    print("Welcome boss")
else :
    print("you are wrong the name is %s:"%_name)

正确输入时,运行结果:

D:\Anaconda3\python.exe
D:/PycharmProjects/pythonz/z.py

username:leigou

Welcome boss

错误输入时,运行结果:

D:\Anaconda3\python.exe
D:/PycharmProjects/pythonz/z.py

username:Leigou

you are wrong the name is:leigou

当判断多个文件值时,可以使用以下形式:

if 判断条件1:
    执行语句1.....
elif 判断条件2:
    执行语句2.....
elif 判断条件3 :
    执行语句3.....
else :
    执行语句4.....

实例如下:

num=2
if num == 1 :
    print("boss")
elif num == 2:
    print("student")
elif num == 3:
    print("worker")
else :
    print(num)  #条件都不成立时输出

运行结果:

D:\Anaconda3\python.exe
D:/PycharmProjects/pythonz/z.py

student

如果判断需要多个条件同时判断时,可以使用or(或),表示两个条件有一个成立时判断条件即成立;表示两个条件同时成立的情况下,判断条件才成立,可以使用and(与),实例如下:

num = 10
if num > 0 or num < 10 :
    print("hello")
else :
    print("undefine")

num = 8
if (num >= 0 and num <= 5) or (num >= 10 and num
<= 15) :
    print("hello")
else :
    print("undefine")

运行结果:

D:\Anaconda3\python.exe
D:/PycharmProjects/pythonz/z.py

hello

hello

undefine

while循环

Python编程中while循环语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务,其基本形式如下:

while 判断条件:
    执行语句......

执行语句可以是单个语句块。判断语句可以是任何表达式,任何非零或非空的值均为True。当判断条件是Flase时,循环结束,实例如下:

count=0
while count < 5 :
    print("This count is :%s"%count)
    count+=1
print("Good
bye!")

运行结果:D:\Anaconda3\python.exe D:/PycharmProjects/pythonz/z.py

This
count is :0

This
count is :1

This
count is :2

This
count is :3

This
count is :4

Good
bye!

while语句还有另外两个重要的命令continue,break来跳过循环,continue用来跳过该次循环,break则用来退出本次循环,此外“判断条件”还可以是个常数,表示循环必定成立,具体用法如下:

i=1
while i < 10 :
    i = i + 1
    if i%2 > 0 :
        continue
    print(i)
print("="*40)

i=1
while 1 :
    print(i,"\t",end="")
    i+=1

运行结果:

D:\Anaconda3\python.exe
D:/PycharmProjects/pythonz/z.py

2

4

6

8

10

========================================

1   2   3   4   5   6   7   8   9   10

Python 中的for,if-else和while语句的更多相关文章

  1. Python中的上下文管理器和with语句

    Python2.5之后引入了上下文管理器(context manager),算是Python的黑魔法之一,它用于规定某个对象的使用范围.本文是针对于该功能的思考总结. 为什么需要上下文管理器? 首先, ...

  2. python中的变量,字符串,用户交互,if语句

    一:python介绍 python的创始人为吉多·范罗苏姆,创始时间是1989年. 1python是一门什么样的语言 python是一门解释型弱类型语言★ 弱类型:弱类型的变量可以变,强类型的变量不能 ...

  3. python中为什么需要使用“if __name__ == '__main__'”语句

    首先用最简洁的语言来说明一下 if __name__ == '__main__': 的作用:防止在被其他文件导入时显示多余的程序主体部分. 先举个例子,如果不用 if __name__ == '__m ...

  4. python 中的 try/except/else/finally语句

    1.python中try/except/else/finally正常的语句是这样的: try: normal excute block except A: Except A handle except ...

  5. python中的type和object详解

    关于这篇博客 这篇博客主要描述Python的新风格对象(new-style objects),如下: <type 'type'>和<type 'object'>分别是什么? 用 ...

  6. Python 2.7 学习笔记 条件与循环语句

    本文介绍下python条件和循环语句的语法 一.if条件语句 语法格式如下: if 表达式: .... elif 表达式: .... elif 表达式: .... else: ..... 说明:与其它 ...

  7. [转]Python中的str与unicode处理方法

    早上被python的编码搞得抓耳挠腮,在搜资料的时候感觉这篇博文很不错,所以收藏在此. python2.x中处理中文,是一件头疼的事情.网上写这方面的文章,测次不齐,而且都会有点错误,所以在这里打算自 ...

  8. python中的Ellipsis

    ...在python中居然是个常量 print(...) # Ellipsis 看别人怎么装逼 https://www.keakon.net/2014/12/05/Python%E8%A3%85%E9 ...

  9. python中的默认参数

    https://eastlakeside.gitbooks.io/interpy-zh/content/Mutation/ 看下面的代码 def add_to(num, target=[]): tar ...

  10. Python中的类、对象、继承

    类 Python中,类的命名使用帕斯卡命名方式,即首字母大写. Python中定义类的方式如下: class 类名([父类名[,父类名[,...]]]): pass 省略父类名表示该类直接继承自obj ...

随机推荐

  1. uoj207共价大爷游长沙

    话说我可能还没有调出魔法森林呢...说好的lct第一题呢... 又是一个随机化的方法,毕竟又是判定性的问题 上次是判断无向图联通 这次是判断一些路径是否经过一条定边 若把路径上的边全部异或上一个路径的 ...

  2. 2017ACM/ICPC广西邀请赛 A Math Problem

    解法:发现..最多15个,那么..暴力一下啦 #include <iostream> #include <stdio.h> #include <vector> #i ...

  3. 寒假作业第二组C题题解

    这道题题意很简单,主要是练习map的使用.看输入有三个数据,水果名,地名,和出现次数.再看输出,很容易想到map<string,int> string是水果,int是次数,那个地名怎么用m ...

  4. HTTP/2之旅 (翻译)

    Journey to HTTP/2 HTTP/2 距离我上一次通过博客写作以来, 经过了很长的一段安静的时间. 因为一直没有足够的时间投入其中. 直到现在有了一些空闲的时间, 我想利用他们写一些HTT ...

  5. 解决win10下python3和python2共存pip的问题

    经过在查阅网友的各种经验,发现仍然解决不了问题,python2和python3在win10下的安装就不再演示了,直接在python的官网下载就好,我机器上使用的是python2.7.15和python ...

  6. 【转】如何学习Javascript

    首先要说明的是,咱现在不是高手,最多还是一个半桶水,算是入了JS的门. 谈不上经验,都是一些教训. 这个时候有人要说,“靠,你丫半桶水,凭啥教我们”.您先别急着骂,先听我说. 你叫一个大学生去教小学数 ...

  7. JAVA基础之基本类型包装类、System类、Math类、Arrays类及大数据运算

    个人理解: 为了方便运算及调用一些方法,我们需要将基本类型的数值转换为对象:不过转换的时候需要特别注意好它们的类型到底是什么,需要调用方法的类名是哪个!特别注意是Byte常量池的相关问题(==):gc ...

  8. iOS NSDecimalNumber 使用

    在iOS开发中,经常遇到和货币价格计算相关的,这时就需要注意计算精度的问题.使用float类型运算,经常出现误差.为了解决这种问题我们使用NSDecimalNumber,下面将通过例子的形式给大家展示 ...

  9. EasyUI:EasyUI-DataGrid多行合并实现

    1.首先我们<table>增加一个属性data-options="onLoadSuccess:mergeCells",mergeCells是我们对应的JS方法名,意思就 ...

  10. Java 继承与重写

    1.类的继承 1)继承 父类:所有子类所共有的属性和行为 子类:子类所特有的属性和行为 通过extends关键字来实现类的继承 子类(Sub class)可以继承父类(Super class)的成员变 ...