loops循环语句

一 if语句,if语句配合else使用,可以没有else.

  1. 单分支if语句
age = input('Age:')
password = '67'
if age == password:
print('==')
  1. 多分支语句
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的跳出条件,不然会死循环)

  1. 满足自定条件跳出
count = 0
while True:
count = count + 1
print(count)
if count == 20:
break
  1. 定义退出的条件
count = 0
while count < 10:
count = count + 1
print(count)
  1. 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是遍历一个条件,不会形成死循环(相对)所以可以不用设置退出条件.

  1. 简单的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
  1. 合理使用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')

补充:

  1. 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!')
  1. 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基础(二)的更多相关文章

  1. python3 基础二——基本的数据类型三

    一.字符串str 1.创建字符串,为变量分配一个值 word='字符串' sentence="字符串\n" #python中单引号和双引号使用完全相同 paragraph=&quo ...

  2. python3 基础二——基本的数据类型二

    一.数字(Number) 1.Python支持三种不同的数值类型:整型(int),浮点型(float),复数(complex) 2.Python数字数据类型用于存储数值 3.数据类型是不允许改变的,这 ...

  3. python3 基础二——基本的数据类型一

    一.基本的数据类型 Python3 中有六个标准的数据类型Number(数字). String(字符串). List(列表) .Tuple(元组). Sets(集合) .Dictionary(字典) ...

  4. Python3基础 二、八、十、十六进制数的定义

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  5. Python3基础 二、八、十、十六进制转换

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  6. Python3基础(十二) 学习总结·附PDF

    Python是一门强大的解释型.面向对象的高级程序设计语言,它优雅.简单.可移植.易扩展,可用于桌面应用.系统编程.数据库编程.网络编程.web开发.图像处理.人工智能.数学应用.文本处理等等. 在学 ...

  7. Python全栈开发【基础二】

    Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...

  8. Python3基础(八) 模块

    在程序中定义函数可以实现代码重用.但当你的代码逐渐变得庞大时,你可能想要把它分割成几个文件,以便能够更简单地维护.同时,你希望在一个文件中写的代码能够被其他文件所重用,这时我们应该使用模块(modul ...

  9. Django基础二静态文件和ORM

    Django基础二静态文件和ORM 目录 Django基础二静态文件和ORM 1. 静态文件 1.1 静态文件基本配置: 1.2 静态文件进阶配置 2. request参数 3. Django配置数据 ...

随机推荐

  1. Python爬虫(十七)_糗事百科案例

    糗事百科实例 爬取糗事百科段子,假设页面的URL是: http://www.qiushibaike.com/8hr/page/1 要求: 使用requests获取页面信息,用XPath/re做数据提取 ...

  2. webStorm和Sublime使用列编辑命令

    webStorm可以像Sublime一样使用列编辑,只是区别在于webStorm只可以编辑连续列表. 按住alt键鼠标选择一列,然后输入文字就会编辑多行,这个功能很赞,比较实用(按住ALT键选中之后, ...

  3. 基于C++11的线程池

    1.封装的线程对象 class task : public std::tr1::enable_shared_from_this<task> { public: task():exit_(f ...

  4. SQL或HQL预编译语句,可以防止SQL注入,可是不能处理%和_特殊字符

    近期项目在做整改,将全部DAO层的直接拼接SQL字符串的代码,转换成使用预编译语句的方式.个人通过写dao层的单元測试,有下面几点收获. dao层代码例如以下 //使用了预编译sql public L ...

  5. hdu4932 Miaomiao&#39;s Geometry (BestCoder Round #4 枚举)

    题目链接:pid=4932" style="color:rgb(202,0,0); text-decoration:none">http://acm.hdu.edu ...

  6. Android 防内存泄露handler

    Android 防内存泄露handler 1.使用弱引用 WeakRefHander /** * 作者: allen on 15/11/24.感谢开源作者https://coding.net/u/co ...

  7. C# 函数式编程 —— 使用 Lambda 表达式编写递归函数

    最近看了赵姐夫的这篇博客http://blog.zhaojie.me/2009/08/recursive-lambda-expressions.html,主要讲的是如何使用 Lambda 编写递归函数 ...

  8. cs231n --- 3 : Convolutional Neural Networks (CNNs / ConvNets)

    CNN介绍 与之前的神经网络不同之处在于,CNN明确指定了输入就是图像,这允许我们将某些特征编码到CNN的结构中去,不仅易于实现,还能极大减少网络的参数. 一. 结构概述 与一般的神经网络不同,卷积神 ...

  9. [UWP]了解模板化控件(6):使用附加属性

    1. 基本需求 之前的ContentView2添加了PointerOver等效果,和TextBox等本来就有Header的控件放在一起反而变得鹤立鸡群. 为了解决这个问题,这次把ContentView ...

  10. MongodDB学习笔记(二)(复制)

    mongoDB的复制非常容易配置,其实现有两种方式,一种是主从复制,一种是复制集,前者的好处是容易配置,但是如果主服务器宕掉了,整个系统就崩溃了,后者的好处是如果主服务器宕掉了,其他服务器会通过投票选 ...