python3基础(二)
loops循环语句
一 if语句,if语句配合else使用,可以没有else.
- 单分支if语句
age = input('Age:')
password = '67'
if age == password:
print('==')
- 多分支语句
age = int(input('Age:'))
password = 67
if age == password:
print('==')
if age > password:
print('>')
if age < password:
print('<')
else:
print('age error')
#这个例子并不符合逻辑,只是为了举例else语句错误的执行了
需要注意的是else语句是否执行,是判断同级上一个if语句条件不满足就执行else,在上一个if前面的if并不影响else的执行.所以就应该使用elif
age = int(input('Age:'))
password = 67
if age == password:
print('==')
elif age > password:
print('>')
elif age < password:
print('<')
else:
print('age error')
二 while语句,无限循环使用break语句跳出(可以没有跳出语句,但是就要注意设置while的跳出条件,不然会死循环)
- 满足自定条件跳出
count = 0
while True:
count = count + 1
print(count)
if count == 20:
break
- 定义退出的条件
count = 0
while count < 10:
count = count + 1
print(count)
- while也可以配合else执行一些特殊的代码
password = 67
count = 0
while count < 5:
count = count + 1
age = input('Age:')
if age.isdigit():
age = int(age)
if age == password:
print('Very Good!')
break
elif age > password:
print('>')
else:
print('<')
else:
print('The input is not the digit, the program exits')
break
else:
print('Try it too many times')
print('Always executed')
三 for语句类似while语句,for是遍历一个条件,不会形成死循环(相对)所以可以不用设置退出条件.
- 简单的for循环,
for i in range(10):
i = i + 1
print(i)
for i in [1, 6, 22, 48, 10, 8, 33 ]:
print(i)
if i == 8:
break
- 合理使用while和for能优化代码
passwd = 67
for i in range(10):
age = input('Age: ')
if age.isdigit():
age = int(age)
if age >passwd:
print('>')
elif age < passwd:
print('<')
else:
print('Very Good!')
break
else:
print('The input is not the digit, the program exits')
print('Always executed')
补充:
- continue和break的区别,continue是跳过本次循环进行下一次循环,break是跳出整个循环语句
count = 100
for i in range(10):
print('In this loop count is :',count)
a = input('Whatever:')
if a == 'c':
continue
if a == 'b':
break
if a == 'q':
exit()
count = count + 1
print('Other things!')
- return跳出多重循环(其实ruturn不是这个作用,但是现在暂时只能想到这个办法比较简单)
count = 0
for i in range(10):
print('-loop- i: ',i)
for j in range(10):
print('--loop-- j: ', j)
for k in range(10):
print('---loop--- k:', k)
count = count + 1
print(count)
这个循环会让count累加到1000,假如我们给定到达888的时候跳出该怎么做呢?封装一个函数
def mul_loops():
flag = 0
for i in range(10):
print('-loop- i: ', i)
for j in range(10):
print('--loop-- j: ', j)
for k in range(10):
print('---loop--- k:', k)
if flag == 888:
return flag
flag = flag + 1
a = mul_loops()
print(a)
python3基础(二)的更多相关文章
- python3 基础二——基本的数据类型三
一.字符串str 1.创建字符串,为变量分配一个值 word='字符串' sentence="字符串\n" #python中单引号和双引号使用完全相同 paragraph=&quo ...
- python3 基础二——基本的数据类型二
一.数字(Number) 1.Python支持三种不同的数值类型:整型(int),浮点型(float),复数(complex) 2.Python数字数据类型用于存储数值 3.数据类型是不允许改变的,这 ...
- python3 基础二——基本的数据类型一
一.基本的数据类型 Python3 中有六个标准的数据类型Number(数字). String(字符串). List(列表) .Tuple(元组). Sets(集合) .Dictionary(字典) ...
- Python3基础 二、八、十、十六进制数的定义
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- Python3基础 二、八、十、十六进制转换
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- Python3基础(十二) 学习总结·附PDF
Python是一门强大的解释型.面向对象的高级程序设计语言,它优雅.简单.可移植.易扩展,可用于桌面应用.系统编程.数据库编程.网络编程.web开发.图像处理.人工智能.数学应用.文本处理等等. 在学 ...
- Python全栈开发【基础二】
Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...
- Python3基础(八) 模块
在程序中定义函数可以实现代码重用.但当你的代码逐渐变得庞大时,你可能想要把它分割成几个文件,以便能够更简单地维护.同时,你希望在一个文件中写的代码能够被其他文件所重用,这时我们应该使用模块(modul ...
- Django基础二静态文件和ORM
Django基础二静态文件和ORM 目录 Django基础二静态文件和ORM 1. 静态文件 1.1 静态文件基本配置: 1.2 静态文件进阶配置 2. request参数 3. Django配置数据 ...
随机推荐
- python re 正则匹配 split sub
import re 编译: motif='([ST])Q' seq="SQAAAATQ" regrex=re.compile(motif) #编译成正则对象 regrex=re.c ...
- 安装phpnow服务[Apache_pn]提示失败的解决方法
win 7/win 8/Win10 phpnow提示"安装服务[Apache_pn]失败"错误解决办法汇总 常常在安装phpnow的时候,提示"安装服务 [ Apache_pn ] 失败&q ...
- 用js解析XML文件,字符串一些心得
解析XML文件遇到的问题 今天秦博士叫我解析一下XML文件,将里面的所有的X坐标Y坐标放在一个数组里面然后写在文档里让他进行算法比对,大家都知道了啦,解析XML文件获取里面的坐标数据什么的,当然是用前 ...
- 掌握sklearn系列——1 学会加载数据
我们直接看代码: from sklearn import datasets #读取三组数据,前两个用于分类,第三个用于回归 iris = datasets.load_iris() digits = d ...
- struts2捕获action类异常
首先是STRUTS.XML的配置.重点在于配置文件: <!-- struts2捕获action类异常 --> <global-results> <resu ...
- 在Docker中运行asp.net core 跨平台应用程序
概述 Docker已经热了有一两年了,而且我相信这不是一个昙花一现的技术,而是一个将深远影响我们日后开发和部署.运营应用系统的一种创新(很多人将其作为devops的一种非常重要的基石).学习docke ...
- [转]压缩感知重构算法之分段正交匹配追踪(StOMP)
分段正交匹配追踪(StagewiseOMP)或者翻译为逐步正交匹配追踪,它是OMP另一种改进算法,每次迭代可以选择多个原子.此算法的输入参数中没有信号稀疏度K,因此相比于ROMP及CoSaMP有独到的 ...
- Elasticsearch全文搜索——adout
现在尝试下稍微高级点儿的全文搜索——一项传统数据库确实很难搞定的任务. 搜索下所有喜欢攀岩(rock climbing)的雇员: curl -XGET 'localhost:9200/megacorp ...
- mango(mango ORM框架介绍)
官网地址:http://www.jfaster.org/ mango的中文名是"芒果",它是一个极速分布式ORM框架.目前已有十多个大型线上项目在使用mango,在某一支付系统中, ...
- 50、html补充
今天补充几个html标签 <body>内常用标签 1.<div>和<span> <div></div> : <div>只是一个块 ...