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. 07.Django学习之model进阶

    一 QuerySet 可切片 使用Python 的切片语法来限制查询集记录的数目 .它等同于SQL 的LIMIT 和OFFSET 子句. >>> Entry.objects.all( ...

  2. jenkins自动化部署项目9 --定时构建

    举几个例子:每隔5分钟构建一次H/5 * * * * 每两小时构建一次H H/2 * * * 每天中午12点定时构建一次H 12 * * * 每天下午18点定时构建一次H 18 * * * 在每个小时 ...

  3. Flask关于request一些方法和属性的整理(持续更新)

    前提:基于纯后端服务, post 请求 (Content-Type: application/json,) 1.获取未经处理过的原始数据而不管内容类型,如果数据格式是json的,则取得的是json字符 ...

  4. js中的计时器事件`setTimeout()` 和 `setInterval()`

    js中的计时器事件 在js中,通常会有一些事件,我们需要让它 间隔一段时间之后再发生,或者 每隔一段时间 发生一次,那就需要用到我们js中的计时事件 计时事件主要有两种: setTimeout() - ...

  5. nginx 配置语法

    一.语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url做编码 ...

  6. 算法题解:最大或最小的K个数(海量数据Top K问题)

    题目 输入 n 个整数,找出其中最小的 k 个数.例如输入4.5.1.6.2.7.3.8 这8个数字,则最小的4个数字是1.2.3.4. 初窥 这道题最简单的思路莫过于把输入的 n 个整数排序,排序之 ...

  7. dede tag标签静态化

    看回那2个文件夹即可,txt说明书我已经修改过. 下面说一下tag标签静态化之后在内容页.列表页中如何使用. 内容页中沿用之前的方法即可: {dede:tag sort='new' getall='0 ...

  8. XCTF-upload

    这道题的话,看了一下是RCTF-2015的原题....可是这也太难了吧QAQ,文件名作为注入点可也是太秀了,害的我一直以为是文件上传QAQ,并且这道题的坑还不少,就是注入时的输出只能为10进制.... ...

  9. Java8新特性之空指针异常的克星Optional类

    Java8新特性系列我们已经介绍了Stream.Lambda表达式.DateTime日期时间处理,最后以"NullPointerException" 的克星Optional类的讲解 ...

  10. asp.net core 腾讯验证码的接入

    asp.net core 腾讯验证码的接入 Intro 之前使用的验证码服务是用的极验验证,而且是比较旧的,好久之前接入的,而且验证码服务依赖 Session,有点不太灵活,后来发现腾讯也有验证码服务 ...