博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python全栈之路系列之流程控制
阅读量:5342 次
发布时间:2019-06-15

本文共 2584 字,大约阅读时间需要 8 分钟。

if

if就是一个条件判断的,当满足不同样的条件的时候执行不同的操作,用法如下:

if 
<条件一>
:
<条件一代码块>
elif
<条件二>
:
<条件二代码块>
else:
<上面两个或者多个条件都不满足则只需这里的代码块>

来一个小栗子:

#!/use/bin/env python# _*_ coding:utf-8 _*_# 只需脚本是让用户输入一个数字,并把值赋值给变量nn = int(input("Pless Numbers: ")) # 如果n大于10 if n > 10: # 输出n > 10 print("n > 10") # 如果n等于10 elif n == 10: # 输出n == 10 print("n == 10") # 否则 else: # 输出n < 10 print("n < 10")

三元运算

如果条件成立,那么就把值1赋值给var,如果条件不成立,就把值2赋值给var

var = 值1 if 条件 else 值2

例子

>>> var = "True" if 1==1 else "False" >>> var 'True'

for循环

for语句是python中的循环控制语句,可用来遍历某一对象,还具有一个附带的可选的else块,主要用于处理for语句中包含的break语句。

>>> li = ['ansheng','eirc'] >>> for n in range(len(li)): ... print(li[n]) ... ansheng eirc

enumrate

enumerate函数用于遍历序列中的元素以及它们的下标

例如定义一个列表,内容有电脑,笔记本,手机,组装机,执行脚本的时候让用户选择商品,并且给商品加上序列:

>>> li = ["电脑","笔记本","手机","组装机"] >>> for key,value in enumerate(li): ... print(key,value) ... 0 电脑 1 笔记本 2 手机 3 组装机

为了给用户良好的体验,需要从1开始,然后用户如果输入相对应的序列那么就打印出序列对应的值:

#!/usr/bin/env python# _*_ coding:utf-8 _*_# 定义一个列表li = ["电脑","笔记本","手机","组装机"] # enumerate默认从0开始自增,我们可以改为从1开始自增 for key,value in enumerate(li,1): print(key,value) # 让用户选择商品的序列 li_num = input("请选择商品:") # print输出的时候让序列减1 print(li[int(li_num)-1])

执行结果如下

1 电脑2 笔记本3 手机 4 组装机 请选择商品:1 电脑

range和xrange

range()函数返回在特定区间的数字序列,range()函数的用法类似切片:range(start,stop,setup),start的默认值为0,即从0开始,stop的参数是必须输入的,输出的最后一个数值是stop的前一个,step的默认值是1,setup是步长

>>> for n in range(5): ... print(n) ... 0 1 2 3 4

反向输出

>>> for n in range(5,-1,-1): ... print(n) ... 5 4 3 2 1 0

range在Python2.7与3.5的差别

python 2.7.11

>>> range(0,100) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

range在Python2.7中,会把所有的序列都输出出来,没一个序列都在内存中占用一点空间

xrange

xrang不会一次性把序列全部都存放在内存中,而是用到for循环进行迭代的时候才会一个一个的存到内存中,相当于Python3.5中的range。

>>> for i in xrange(1,10): ... print(i) ... 1 2 3 4 5 6 7 8 9

python 3.5.1

>>> range(1,100) range(1, 100)

range在python3.5中就不会一次性的占用那么多空间,他会我需要用到这个序列的时候然后再内存中开辟一块空间给这个序列,不是一次性分完,相当于Python2.7.11中的xrange.

while循环

while循环不同于for循环,while循环是只要条件满足,那么就会一直运行代码块,否则就运行else代码块,语法如下:

while 
<条件>
:
<代码块>
else:
<如果条件不成立执行这里的代码块>

小栗子

#!/use/bin/env python# _*_ coding:utf-8 _*_flag = True while flag: print(flag) flag = False else: print('else', flag)

转载于:https://www.cnblogs.com/ethereala/p/8688413.html

你可能感兴趣的文章
java中遍历属性字段及值(常见方法)
查看>>
YUI3自动加载树实现
查看>>
kettle导数到user_用于left join_20160928
查看>>
较快的maven的settings.xml文件
查看>>
随手练——HDU 5015 矩阵快速幂
查看>>
malloc() & free()
查看>>
Linux 的 date 日期的使用
查看>>
Java变量类型,实例变量 与局部变量 静态变量
查看>>
mysql操作命令梳理(4)-中文乱码问题
查看>>
Python环境搭建(安装、验证与卸载)
查看>>
一个.NET通用JSON解析/构建类的实现(c#)
查看>>
详谈js面向对象 javascript oop,持续更新
查看>>
关于这次软件以及pda终端的培训
查看>>
如何辨别一个程序员的水平高低?是靠发量吗?
查看>>
新手村之循环!循环!循环!
查看>>
线程安全问题
查看>>
linux的子进程调用exec( )系列函数
查看>>
MySQLdb & pymsql
查看>>
zju 2744 回文字符 hdu 1544
查看>>
【luogu P2298 Mzc和男家丁的游戏】 题解
查看>>