day02

1.while循环 -- while关键字

while 空格 条件 冒号

缩进 循环体

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

数字中非0的都是True

# 正序25~57![](https://img2018.cnblogs.com/blog/1617228/201907/1617228-20190705192654502-2028519452.png)

# count = 25
# while count <= 57:
#     print(count)
#     count += 1

# 倒叙57~25
# count = 57
# while count >= 25:
#     print(count)
#     count -= 1

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

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

break和continue的相同之处:

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

条件可以控制while循环

打断循环的方式:

​ 1.自己修改条件

​ 2.break

题目:

# num = int(input("请输入数字:"))
# while num == 1:
#     user = input("请输入用户名:")
#     pwd = input("请输入密码:")
#     if user == "zcy" and pwd == "123":
#         print("登陆成功!")
#         break
#     else:
#         print("用户名或密码错误!")
# else:
#     print("退出成功!")

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

2.格式化输出

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

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

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

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

​ % -- 占位

​ %s -- 占字符串的位

​ %d -- 占数字位

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

.format

name = input("姓名:")
age = input("年龄:")
msg = '姓名:{},年龄:{}'.format(name,int(age))
print(msg)

name = input("姓名:")
age = input("年龄:")
msg = '姓名:{1},年龄:{0}'.format(int(age),name)
print(msg)

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

name = input("姓名:")
age = input("年龄:")
msg = f'姓名{name},年龄{age}'
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. 29道Zookeeper面试题超详细(附答案)

    原文链接 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件 ...

  2. Java面试-interrupt

    我们都知道,Java中停止一个线程不能用stop,因为stop会瞬间强行停止一个线程,且该线程持有的锁并不能释放.大家多习惯于用interrupt,那么使用它又有什么需要注意的呢? interrupt ...

  3. java数据结构——二叉树(BinaryTree)

    前面我们已经学习了一些线性结构的数据结构和算法,接下来我们开始学习非线性结构的内容. 二叉树 前面显示增.删.查.遍历方法,完整代码在最后面. /** * 为什么我们要学习树结构. * 1.有序数组插 ...

  4. Docker 01 - CentOS 7 中安装 Docker 的详细步骤

    目录 1 初识 Docker 1.1 Docker 原理简介 1.2 Docker 核心概念 2 安装 Docker 2.1 查看系统内核版本 2.2 更新 yum 包 2.3 安装软件包 2.4 向 ...

  5. WordCount程序【Spark Streaming版本】

    ~~ 前置 ~~ Spark Streaming 常常对接 :本地文件.HDFS.端口.flume.kafka package february.streaming import org.apache ...

  6. pt-archiver归档数据 源库和目标库是否会出现不一致

    背景 归档的表在源库和目标库都要存在 pt-archiver归档表的场景有:不删原表数据,非批量插入目标库:不删原表数据,批量插入目标库:非批量删除原表数据,非批量插入目标库:批量删除原表数据,批量插 ...

  7. Gradle 梳理:安装、入门使用方法

    Gradle 教程:第一部分,安装[翻译]   原文地址:http://rominirani.com/2014/07/28/gradle-tutorial-part-1-installation-se ...

  8. 阿里云ECS服务器提示需要修复的漏洞问题

    1.漏洞: RHSA-2018:1842: kernel security, bug fix, and enhancement updateRHSA-2018:2299: NetworkManager ...

  9. win10下,打开oracle时出现 oracle initialization or shutdown in process 错误 的解决办法

    解决方法: 1)在dos窗口下输入:sqlplus /nolog 2)SQL>connect sys/sys as sysdba 提示:已连接. 3)SQL>shutdown normal ...

  10. Mysql高手系列 - 第21篇:什么是索引?

    Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能. 这是Mysql系列第21篇. 本文开始连续3篇详解mysql索引: 第1篇来说说什么是索引? 第2篇详解Mysql中 ...