day02

1.while循环 -- while关键字

while 空格 条件 冒号

缩进 循环体

  1. while 5>4:
  2. print("Hello World!")

数字中非0的都是True

  1. # 正序25~57![](https://img2018.cnblogs.com/blog/1617228/201907/1617228-20190705192654502-2028519452.png)
  2. # count = 25
  3. # while count <= 57:
  4. # print(count)
  5. # count += 1
  6. # 倒叙57~25
  7. # count = 57
  8. # while count >= 25:
  9. # print(count)
  10. # count -= 1

break 终止当前循环,break下面的循环体代码不执行

continue 跳过本次循环,继续下一次循环(下面的代码不执行) #continue伪装成循环体中的最后一行代码

break和continue的相同之处:

​ 下面的循环体代码不执行

条件可以控制while循环

打断循环的方式:

​ 1.自己修改条件

​ 2.break

题目:

  1. # num = int(input("请输入数字:"))
  2. # while num == 1:
  3. # user = input("请输入用户名:")
  4. # pwd = input("请输入密码:")
  5. # if user == "zcy" and pwd == "123":
  6. # print("登陆成功!")
  7. # break
  8. # else:
  9. # print("用户名或密码错误!")
  10. # else:
  11. # print("退出成功!")

while else: while 条件成立的时候就不执行了,条件不成立的时候就执行else

2.格式化输出

%s(字符串类型) %d(数字类型)

按位置顺序传递,占位和补位必须要一一对应

如果要在字符串中输出%时,用%%转义

  1. name = input("姓名:")
  2. age = input("年龄:")
  3. msg = '姓名:%s,年龄:%d'%(name,int(age))
  4. print(msg)

​ % -- 占位

​ %s -- 占字符串的位

​ %d -- 占数字位

​ %% -- 转义成普通的%

.format

  1. name = input("姓名:")
  2. age = input("年龄:")
  3. msg = '姓名:{},年龄:{}'.format(name,int(age))
  4. print(msg)
  5. name = input("姓名:")
  6. age = input("年龄:")
  7. msg = '姓名:{1},年龄:{0}'.format(int(age),name)
  8. print(msg)

f'字符串1{},字符串2{}' (python 3.6以上)

  1. name = input("姓名:")
  2. age = input("年龄:")
  3. msg = f'姓名{name},年龄{age}'
  4. print(msg)

3.运算符

算术运算符

​ + 加

​ - 减

​ * 乘

​ / python2获取的是整数 python3获取的是浮点数

​ //(整除--地板除)

​ ** 幂(次方)

​ % 模(取余)

比较运算符

​ > 大于

​ < 小于

​ == 等于

​ != 不等于

​ >= 大于等于

​ <= 小于等于

赋值运算符

​ = 赋值

​ += 自加

​ -= 自减

​ *= 自乘

​ /= 自除

​ //= 自地板除

​ **= 自幂

​ %= 自余

逻辑运算符

​ and 与

​ or 或

​ not 非

and 都为真的时候取and后面的值

​ print( 3 and 4) #4

and 都为假的时候取and前面的值(前面是假的时,and后面的不用判断)

​ print( 0 and False) #0

and 一真一假取假的(前面是假的时,and后面的不用判断)

​ print( 0 and 4) #0

​ print( 4 and 0) #0

or 都为真的时候取or前面的值(前面是真的时,or后面的不用判断)

​ print( 3 or 4) #3

or 都为假的时候取or后面的值

​ print( 0 or False) #False

or一真一假取真的(前面是真的时,or后面的不用判断)

​ print( 0 or 4) #4

​ print( 4 or 0) #4

优先级:

()> not > and > or

成员运算符

​ in 存在

​ not in 不存在

4.编码初始(编码集)

  • ​ Ascii(美国) 不支持中文

  • ​ GBK(国标,也称GBK2312) 英文 8位(1Bytes) 中文 16位(2Bytes)

  • ​ Unicode(万国码) 英文16位(2Bytes) 中文32位(4Bytes)

  • ​ UTF-8(可变长编码) 英文8位(1Bytes) 欧洲文16位(2Bytes) 亚洲(24位)(3Bytes)

  • ​ Linux -- UTF-8

  • ​ Mac -- UTF-8

  • ​ Windows --GBK

  • 单位转换:
    • ​ 1Bytes = 8bit
    • ​ 1KB = 1024Bytes
    • ​ 1MB = 1024KB
    • ​ 1GB = 1024MB
    • ​ 1TB = 1024GB
    • ​ 1PB = 1024TB

其他知识点

python print(a,b,c,d,sep = "\n") #sep = "\n" 换行

百万年薪python之路 -- while循环的更多相关文章

  1. 百万年薪python之路 -- JS基础介绍及数据类型

    JS代码的引入 方式1: <script> alert('兽人永不为奴!') </script> 方式2:外部文件引入 src属性值为js文件路径 <script src ...

  2. 百万年薪python之路 -- 面向对象之继承

    面向对象之继承 1.什么是面向对象的继承 继承(英语:inheritance)是面向对象软件技术当中的一个概念. 通俗易懂的理解是:子承父业,合法继承家产 专业的理解是:子类可以完全使用父类的方法和属 ...

  3. 百万年薪python之路 -- 模块三

    logging 日志模块 loggin模块参数 灵活配置日志级别,日志格式,输出位置: import logging logging.basicConfig(level=logging.DEBUG, ...

  4. 百万年薪python之路 -- 模块二

    1. 序列化模块 什么是序列化呢? 序列化的本质就是将一种数据结构(如字典.列表)等转换成一个特殊的序列(字符串或者bytes)的过程就叫做序列化. 为什么要有序列化模块? 如果你写入文件中的字符串是 ...

  5. 百万年薪python之路 -- 模块

    1.自定义模块 1.1.1 模块是什么? 模块就是文件,存放一堆常用的函数和变量的程序文件(.py)文件 1.1.2 为什么要使用模块? 1.避免写重复代码,从文件级别组织程序,更方便管理 2.可以多 ...

  6. 百万年薪python之路 -- 数据库初始

    一. 数据库初始 1. 为什么要有数据库? ​ 先来一个场景: ​ 假设现在你已经是某大型互联网公司的高级程序员,让你写一个火车票购票系统,来hold住十一期间全国的购票需求,你怎么写? 由于在同一时 ...

  7. 百万年薪python之路 -- 并发编程之 协程

    协程 一. 协程的引入 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两 ...

  8. 百万年薪python之路 -- 并发编程之 多线程 二

    1. 死锁现象与递归锁 进程也有死锁与递归锁,进程的死锁和递归锁与线程的死锁递归锁同理. 所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因为争夺资源而造成的一种互相等待的现象,在无外力的作用 ...

  9. 百万年薪python之路 -- 并发编程之 多进程 一

    并发编程之 多进程 一. multiprocessing模块介绍 ​ python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大 ...

随机推荐

  1. C++基础之关联容器

    关联容器 关联容器和顺序容器的本质区别:关联容器是通过键存取和读取元素.顺序容器通过元素在容器中的位置顺序存储和访问元素.因此,关联容器不提供front.push_front.pop_front.ba ...

  2. Netty源码分析 (十二)----- 心跳服务之 IdleStateHandler 源码分析

    什么是心跳机制? 心跳说的是在客户端和服务端在互相建立ESTABLISH状态的时候,如何通过发送一个最简单的包来保持连接的存活,还有监控另一边服务的可用性等. 心跳包的作用 保活Q:为什么说心跳机制能 ...

  3. What skills you need to become a full stack java developer?

    For a full stack Java developer you should start with learning backend and front-end technologies Fr ...

  4. 【面试题】Java集合部分面试题

    集合与数组? 数组:(可以存储基本数据类型)是用来存储对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用 集合:(只能存储对象,对象类型可以不一样)集合的长度可变,可在多数情况下使用 ...

  5. ASP.NET 服务端接收Multipart/form-data文件

    在网络编程过程中需要向服务器上传文件. Multipart/form-data是上传文件的一种方式. /// <summary> /// 上传工程文件 /// </summary&g ...

  6. Windows10安装多个版本的PostgreSQL数据库,但是均没有自动注册Windows服务的解决方法

    1.确保正确安装了PostgreSQL数据库,注意端口号不能相同 我的安装目录如图: 其中9.6版本的端口号为5432,10版本的端口号为5433,11版本的端口号为5434.若不知道端口号,可在Po ...

  7. Spring MVC-从零开始-view-forward、redirect

    1.forward或redirect后,不再走viewResolver过程,直接重新从控制器开始 2.代码 package com.jt; import org.springframework.ste ...

  8. SpringBootSecurity学习(11)网页版登录之URL动态权限

    动态权限 前面讨论用户登录认证的时候,根据用户名查询用户会将用户拥有的角色一起查询出来,自动实现判断当前登录用户拥有哪些角色.可以说用户与角色之间的动态配置和判断security做的非常不错.不过在配 ...

  9. Kotlin学习系列(二)

    IF表达式 if在kotlin可以当做表达式使用跟java的三元操作符类似: var max = if( a > b ) a else b if分支可以使用代码块,最后一个表达式是返回值: va ...

  10. Python爬虫(二):Requests库

    所谓爬虫就是模拟客户端发送网络请求,获取网络响应,并按照一定的规则解析获取的数据并保存的程序.要说 Python 的爬虫必然绕不过 Requests 库. 1 简介 对于 Requests 库,官方文 ...