#隐式布尔值: 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. ArcMap 0 (ArcGIS10.2安装)

    一如GIS深似海,从此相逢是故人(这句话适合初步接触GIS的,我算是初窥门径.还是道行太浅,只是多了感慨) 前言: 1. 本人GIS专业,对于ArcGIS较为熟悉.由于专业和其它经历需要,接触过不少各 ...

  2. C. The Big Race

    \(给出数n,a,b\) \(在[1,n]区间内随机选数,选出的数被a,b除后同余的概率\) \(这题的精度问题真的是烦炸了~\) \(设最小公倍数lcm=a*b/gcd(a,b)\) \(所以在区间 ...

  3. 阿里巴巴泰山版《Java 开发者手册》,也是一份防坑指南

    我是风筝,公众号「古时的风筝」,一个不只有技术的技术公众号,一个在程序圈混迹多年,主业 Java,另外 Python.React 也玩儿的 6 的斜杠开发者. Spring Cloud 系列文章已经完 ...

  4. uCOS2014.1.11

    typedef unsigned char  BOOLEAN;typedef unsigned char  INT8U;      /* Unsigned  8 bit quantity   */ty ...

  5. 修改托管dll文件

    众所周知,托管的dll是可以反编译且可以修改的. 可以用ildasm.exe导出IL文件,修改IL文件后,用ilasm编译成DLL 用ildasm.exe导出IL文件 1.获得ildasm.exe  ...

  6. Mysql 常用数据库操作

    一.数据库操作: 1.查看数据库: >SHOW DATABASES; 2.创建数据库: >CREATE DATABASE db_name; //db_name为数据库名 3.使用数据库: ...

  7. 小程序-云开发 bindscroll滚动事件执行setData()方法,导致scroll-view视图抖动

    需求描述 想做一个类似京东小程序首页功能列表左右滑动的效果,效果图如下 遇到的问题 1. 如何让scroll-view显示两行 做过小程序开发的都知道,scroll-view要么显示一行,可以左右滚动 ...

  8. 开始写博客的第一天,如何用c实现“hello wolrd”

    “hello world” 应该是大多数人学习的第一个代码 那也就作为我第一篇博客的开端吧 实现的代码如下 #include <stdio.h> int main() { printf(& ...

  9. @vue/cli 4.0+express 前后端分离实践

    之前总结过一篇vue-cli 2.x+express+json-server实现前后端分离的帖子,@vue/cli3.0及4.0搭建的项目与vue-cli2.x的项目结构有很大的不同.这里对@vue/ ...

  10. hdu5687 字典树

    hdu5687 #include <bits/stdc++.h> using namespace std; , n = ; struct node { ]; int cnt; void i ...