#隐式布尔值: 0  none  空
# 一、流程控制
# 短路运算:偷懒原则,偷懒到哪个位置,就把当前位置的值返回
# 为0
# (10>3 and 10 and 0 and 10 )or( 10>3 and 1==1_) # 二、深浅copy
# 二者分隔不开,原值一改后值也跟着改
# 需求:1.拷贝原列表产生新列表
# 2.想让两个列表完全独立开,针对的是改操作的独立而不是读操作
#二、如何拷贝列表
# 1 浅copy:把原列表第一层的内存地址不加区分完全拷贝一份给新的
默认列表类型属于浅拷
list1=['egon','lxx',[1,2]]
list3=list1.copy()
print(list2)
2 深拷贝:新列表的改变与就列表完全分隔开,区分开可变与不可变类型的copy机制.
针对不可变类型则用原来的地址,可变的类型开辟一个新的空间指向原来的值地址
import copy
lise3=copy.deepcopy()
三、while循环
1、循环的语法与基本使用

while 条件:
代码1
代码2
代码3
print(3)
while的运行步骤
步骤1:如果条件为真,那么依次执行:代码1、代码2、代码3、......
步骤2:执行完毕后再次判断条件,如果条件为True则再次执行:代码1、代码2、代码3、.... 例:
count=0
while  count<5:
print(count)
count+=1
print('qdd') 2.死循环与效率问题
死循环:
count=0
while count <5:
print(count) 会一直输出0
如图:不会引发效率问题

纯计算无io死循环会引发知名的效率问题:条件永远为真,并且进行运行计算

3、 循环的应用

# 需要解决的问题:1、重复代码 (while循环)
# 2、输入正确不用重复
username='egon'
password='123'
while True
name=input('请输入你的账号:')
pwd=input('请输入你的密码:') if name == username and pwd == password:
print('登录成功')
else:
print('账号或密码错误') 4、循环的终止方式
方式一:将条件改为false,等到下次循环判断条件时才会生效

username='egon'
password='123'
tag=True
while tag:
inp_name=input('请输入你的账号:')
inp_pwd=input('请输入你的密码:')
if inp_name == username and inp_pwd == password:
print('登录成功')
tag=False #之后的代码还会运行,下次循环判断条件才会生效
else: print('账号或密码错误')
方式二:break,只要运行到break就会立刻终止本层循环

username='egon'
password='123' while True:
inp_name=input('请输入你的账号:')
inp_pwd=input('请输入你的密码:')
if inp_name == username and inp_pwd == password:
print('登录成功')
break #立刻结束本层循环
else:
print('账号或密码错误')

5、while循环嵌套:每一层都必须配一个break

例子一:

例子二:改变条件的username='egpassword='123'

tag=True
while tag:
inp_name=input('请输入你的账号:')
inp_pwd=input('请输入你的密码:') if inp_name == username and inp_pwd == password:
print('登录成功')
while tag:
cmd=input("输入命令>:")
if cmd == 'q'
tag=false
print('命令{x}正在运行').foemat(x=cmd)
tag=False
else:
print('账号或密码错误')
6、while +continue:结束本次循环,直接进入下一次

count=0

while count < 6:
    if count ==4:
count+=1
continue
print(count)
count+=1
7、while +else:针对break while true:
....
else:
print(‘else包含的代码会在while循环结束后,
并且while循环是在没有被break 打断的情况下正常结束的才会运行’)
 

   

												

day 7 while循环的更多相关文章

  1. 【.net 深呼吸】细说CodeDom(8):分支与循环

    有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...

  2. Recurrent Neural Network系列1--RNN(循环神经网络)概述

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...

  3. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  4. 模仿Linux内核kfifo实现的循环缓存

    想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式.使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了.偶然间看到分析Linux内核的循 ...

  5. 【JS基础】循环

    for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块)的条件 语句 3 在循环(代码块)已被 ...

  6. 【python之路4】循环语句之while

    1.while 循环语句 #!/usr/bin/env python # -*- coding:utf-8 -*- import time bol = True while bol: print '1 ...

  7. To Java程序员:切勿用普通for循环遍历LinkedList

    ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...

  8. JavaScript单线程和浏览器事件循环简述

    JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...

  9. .NET基础 一步步 一幕幕[循环、逻辑语句块]

    循环.逻辑语句块   好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...

  10. Linux进程管理及while循环

    目录 进程的相关概念 进程查看及管理工具的使用 Linux系统作业控制 调整进程优先级 网络客户端工具 bash之while循环 20.1.进程类型 守护进程 daemon,在系统引导过程中启动的进程 ...

随机推荐

  1. 剑指offer--(根据前序遍历和中序遍历)重建二叉树

    题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...

  2. 吴恩达机器学习week2

    1.Mean normalization(均值归一化) 我们可以将均值归一化理解为特征缩放的另一种方法. 特征缩放和均值归一化的作用都是为了减小样本数据的波动使得梯度下降能够更快速的寻找到一条'捷径' ...

  3. QtCreator中使用链接库

    说明 之前讨论的DLL的静态链接和动态连接都是基于 MSVC 编译器,但是 MinGW 似乎有另外一套类似但是不相同的机制.下文均在 windows 下使用 Qt Creator 中使用 MinGW ...

  4. OpenWrt R2020.03.05 去广告 抗污染 加速 UnPnP NAS

    固件版本已经更新,新版本链接:https://www.cnblogs.com/zlAurora/p/12500932.html   容我啰嗦一下,为什么会有这个固件.   从KoolShare LED ...

  5. ubuntu 1604升级到ubuntu 1804无法忽视的细节问题(亲测有效)

    升级ubuntu系统,遇到很多问题,可能你在升级的时候也会碰到,希望对你有所帮助: 文章目录 1 常规升级过程 2 更改过源 3 无法全部更新 4 其他的问题 5 升级成功 6 无法进入gnome 6 ...

  6. 手把手教你学Numpy,从此处理数据不再慌「一」

    当当当,我又开新坑了,这次的专题是Python机器学习中一个非常重要的工具包,也就是大名鼎鼎的numpy. 所以今天的文章是Numpy专题的第一篇. 俗话说得好,机器学习要想玩的溜,你可以不会写Pyt ...

  7. LabVIEW动态添加控件

    综述: 事例1: 未执行: 执行后:

  8. OPTICS聚类算法原理

    OPTICS聚类算法原理 基础 OPTICS聚类算法是基于密度的聚类算法,全称是Ordering points to identify the clustering structure,目标是将空间中 ...

  9. PHP中面向对象特性实现

    PHP近些年来成为全球最流行的网页编程语言,该语言以弱类型.易兼容.门槛低.开发快.功能强著称,且听别人这么说,我在有了c和c#基础后学习PHP过程中也并不是很顺利,该语言的一些特殊的语法规则又是让我 ...

  10. DIV+CSS布局的优势和弊端

    DIV+CSS的优势1.符合W3C标准.这保证您的网站不会因为将来网络应用的升级而被淘汰.2.对浏览者和浏览器更具亲和力.由于CSS富含丰富的样式,使页面更加灵活性,它可以根据不同的浏览器,而达到显示 ...