#隐式布尔值: 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. B. Long Path dp

    https://codeforces.com/problemset/problem/407/B 这个题目是一个dp,有那么一点点的递归的意思,这个应该算一个找规律的dp, dp[i]定义为第一次到第i ...

  2. D. Mysterious Present DAG dp

    https://codeforces.com/problemset/problem/4/D 这个题目比较简单,就是一个DAG模型,这个可以看看紫书学习一下, 我这次是用dp来写的,用记忆化搜索也许更好 ...

  3. spring的单元测试

    如果spring 4.3.18这个版本的spring要使用junit,需要使用junit的junit-4.12之上的版本.使用这个版本junit的时 候需要引入hamcrest-all的jar包.之前 ...

  4. C/C++数组和指针详解

    /****************************************************************/ /*            学习是合作和分享式的! /* Auth ...

  5. linux --批量修改文件内容

    由于目前测试的BIOS有一个option 发生了改变,因此我们需要在之前写好的脚本上进行修改,将旧的option 改为新的选项,因此在此处用到了批量修改文件中的内容: 1. perl 命令替换: pe ...

  6. hdu4035 Maze 题解

    /* 设 E[i]表示在结点i处,要走出迷宫所要走的边数的期望. E[i] = ki*E[1] + (1-ki-ei)*E[fa[i]] + (1-ki-ei); E[i] = ki*E[1] + ( ...

  7. js 控制窗口跳转

    使用iframe 或者使用子窗口时,session 失效时是浏览器地址转换 相关js代码:if(top!=self){ if(top.location != self.location) top.lo ...

  8. c#与js客户端之间相互传值

    RegisterStartupScript(key, script) RegisterClientScriptBlock(key, script) 第一个参数 key 是插入的客户端脚本的唯一标识符. ...

  9. spark机器学习从0到1特征抽取–CountVectorizer(十三)

        一.概念 CountVectorizer 旨在通过计数来将一个文档转换为向量.当不存在先验字典时,Countvectorizer作为Estimator提取词汇进行训练,并生成一个CountVe ...

  10. promise对象里resolve和reject状态讲解及Promise.all()的使用

    首先来说下同步异步与阻塞非阻塞的概念,同步异步与阻塞非阻塞并没有关系.同步异步主要是事情做完以后,如何进行处理.或者说关注的是一种消息通信机制. 同步的情况下,是由处理消息者自己去等待消息是否被触发: ...