一、in的使用

说明:in有相当多的用处,比如判断,循环for 等。

实例一:in 操作符用于判断关键字是否存在于变量中

  

s = '男人john'
print('男孩' in s)
print('男孩john' in s)
print('男人jo' in s)
print('wusir' not in s)

执行后输出结果为:

注意:in是整体匹配,不会拆分匹配。

示例:

a = '男孩John'
print('男孩sir' in a)

执行输出:False

 实例二:in 做关键字匹配

comment = input('请输入你的评论:')
if '苍井空' in comment:
print('您输入的敏感词汇,请重新输入')

  执行后输出:

请输入你的评论:苍井空
您输入的有敏感词汇,请重新输入

二、while else的使用

说明:while else 如果循环被break打断,程序不会走else

实例一:

count = 1
flag = True
while flag:
print(count)
if count == 3:
flag = False
count += 1
else:
print('循环结束')

执行输出:

1
2
3
循环结束

示例二:

count = 1
while True:
print(count)
if count == 3:
break #这里设置为当它执行第三次的时候直接退出不执行
count += 1
#else:
#  print('循环结束')

  执行输出:

1
2
3

三、格式化输出

比如用户输入信息后,输出一段话

msg = '我叫嘉豪,今年26岁,喜欢Fight'

第一种替换方式 (元祖类型--替换)

#% 占位符 s str 字符串 d digit 数字
name = input('请输入你的姓名:')
age = input('请输入你的年龄:')
hobby = input('请输入你的爱好:')
msg = '我叫%s,今年%d岁,爱好%s' % (name,int(age),hobby)
print(msg)

 执行输出: 

请输入你的姓名:嘉豪
请输入你的年龄:26
请输入你的爱好:Fight
我叫嘉豪,今年26岁,爱好Fight

第二种替换方式 (字典类型--替换)
定义一个字典

dic = {'name':'Tom','age':51,'hobby':'无所谓'}

完整代码如下:

 dic = {'name':'Tom','age':51,'hobby':'无所谓'}

msg = '我叫%(name)s,今年%(age)d岁,爱好%(hobby)s' % dic
print(msg)

输出结果:

我叫Tom,今年51岁,爱好无所谓  

格式化输出,就是做固定模板填充

第三种替换方式(字符转换)

 name = input('请输入你的姓名:')

age = input('请输入你的年龄:')
msg = '我叫%s,今年%d岁,学习进度为1%' % (name,int(age))
print(msg)

执行报错
ValueError: invalid literal for int() with base 10: 'sf'

#在格式化输出中单纯的显示% 用%% 解决

name = input('请输入你的姓名:')
age = input('请输入你的年龄:')
msg = '我叫%s,今年%d岁,学习进度为1%%' % (name,int(age))
print(msg)

执行输出

请输入你的姓名:zhang
请输入你的年龄:21
我叫zhang,今年21岁,学习进度为1%

第三种替换方式 (format 格式化输出)       

name = input('请输入你的姓名:')
age = input('请输入你的年龄:')
hobby = input('请输入你的爱好:')
msg = '我叫{},今年{}岁,我的爱好是{},学习进度1%'.format(name,int(age),hobby)
print(msg)

  输出结果:

请输入你的姓名:嘉豪
请输入你的年龄:26
请输入你的爱好:Fight
我叫嘉豪,今年26岁,我的爱好是Fight,学习进度1%

四、逻辑运算符

说明:在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

and or not
第一种:前后都是比较运算

优先级:() > not > and > or

注意:同一个优先级,从左至右依次计算。false and 任何条件,都是false

print(1 > 2 and 3 < 4)

  执行输出: False

 print(1 > 2 and 3 < 4 and 3 > 2 or 2 < 3)

执行输出: True

第二种:前后都是数字运算  

注意: 

  x or y , x为真,值就是x,x为假,值是y;

  x and y, x为真,值是y,x为假,值是x。

非0的数字,都是真

print(1 or 3)
print(2 or 3)
print(0 or 3)
print(-1 or 3)

 执行输出:

1
2
3
-1 

在or中,只要有真,结果必定为真。

False or True 结果为True

print(1 and 2)

执行输出: 2

print(1 and 2)
print(0 and 2)

执行输出:
2
0

第三种,混合

print(1 > 2 or 3 and 4)

执行输出: 4

print(1 > 2 or 3 and 4)
print(2 or 2 > 3 and 4)

执行输出:
4
2

五、数据类型的转换

int与布尔值的转换
int --> bool 非0即True,0为False
bool --> int True 1 False 0

print(int(True))

执行输出:1

print(int(True))
print(int(False))
print(bool(100))
print(bool(0))

执行输出:
1
0
True
False

六、编码

编码很重要,总会遇到编码的问题

1,发电报:滴滴滴滴 实际是高低电平。
密码本:

今 0000 0001
天 0000 0101
喝 0000 0011
酒 0000 1100
去 0001 1010
呀 0001 0001

0010010 1000011 1100101 010001

2,计算机在存储,和传输的时候, 01010101
初期密码本:
asiic 包含数字,英文,特殊字符。八位
01000001 01000010 01000011 A B C
8位 = 1 byte 表示一个字符。
ascii最左1位都是0,为了拓展使用的。

ASCII码表里的字符总共有256个
前128个为常用的字符如运算符
后128个为 特殊字符是键盘上找不到的字符

万国码unicode,将所有国家的语言包含在这个密码本。
初期:16位,两个字节,表示一个字符。
A : 00010000 00010010
中: 00010010 00010010
升级:32位,四个字节,表示一个字符。
A : 00010000 00010010 00010000 00010010
中: 00010010 00010010 00010010 00010010
32位资源浪费。

升级:utf-8。最少用8位(一个字节),表示一个字符。
英文:a :00010000 用8位表示一个字符。
欧洲:00010000 00010000 16位两个字节表示一个字符。
亚洲 中 :00010000 00010000 00010000 24位,三个字节表示一个字符。

utf-16 不常用,最少用16位

gbk:国标。
只包含:英文中文。
英文:a :00010000 8位,一个字节表示一个字符。
中文:中:00010000 00010000 16位,两个字节表示一个字符。
gb2312 也是国标的一种

单位换算
8 bit = 1 byte
1024 byte = 1 kb
1024 kb = 1 MB
1024 MB = 1 GB
1024 GB = 1 TB

作业:

题目一:判断下列逻辑语句的True,False.

1、1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
答:True

2、not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
答:False

题目二、求出下列逻辑语句的值。
  1、8 or 3 and 4 or 2 and 0 or 9 and 7
    答:8
  2、0 or 2 and 3 and 4 or 6 and 0 or 3
    答:4

题目三、下列结果是什么?
    (1)、6 or 2 > 1
      答:6

    (2)、3 or 2 > 1
      答:3

    (3)、0 or 5 < 4
      答:False

    (4)、5 < 4 or 3
      答:3

    (5)、2 > 1 or 6
      答:True

    (6)、 and 2 > 1
      答:True

    (7)、0 and 3 > 1
      答:0

    (8)、2 > 1 and 3
      答:3

    (9)、3 > 1 and 0
      答:0

    (10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2
      答:2

题目4. 简述变量命名规范

变量是由数字,字母,下划线,任意组合。
变量不能以数字开头。
不能是python中的关键字。
不能太长,不能是中文,要有描述性。
官方推荐: 下划线命名法,单词之间用下划线连接。

题目5. name = input(“>>>”) name变量是什么数据类型?
字符串类型(str)

 

题目6. if条件语句的基本结构?

# 第一种:
if 条件:
结果 # 第二种(真假判断):
if 条件:
结果
else:
结果 # 第三种(条件判断):
if 条件:
结果
elif:
结果 # 第四种 (多条件判断):
if 条件:
结果
elif 条件:
结果
else:
结果 # 第五种(嵌套法):
if 条件:
if 条件:
结果
结果

7. while循环语句基本结构?

while 条件:
结果

8. 写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?

count = 0
sum = 0
while count < 99:
count += 1
if count == 88:
continue
print(count)
if count % 2 == 0:
sum -= count
else:
sum += count
print(sum)

9. 用户登录(三次输错机会)且每次输错误时显示剩余错误次数(提示:使用字符串格式化)

count = 0
name = 'jiahao'
pwd = '123'
while count <= 2:
username = input('请输入你的用户名:')
password = input('请输入用户密码:')
if username == name and password == pwd:
print('登录成功!')
break
else:
print('登录失败!')
count += 1
num = 3 - int(count)
#print('您还有{}次机会'.format(3 - int(count)))
if num == 2:
print('您还有{}次机会'.format(num))
elif num == 0:
print('您已经没有机会了!')
else:
print('您只有最后一次机会了,请珍惜!')

执行结果:

#结果一:
请输入你的用户名:jiahao
请输入用户密码:123
登录成功!
请输入你的用户名:1
请输入用户密码:1
登录失败!
您还有2次机会
请输入你的用户名:2
请输入用户密码:2
登录失败!
您只有最后一次机会了,请珍惜!
请输入你的用户名:3
请输入用户密码:3
登录失败!
您已经没有机会了!

10. 简述ascii、unicode、utf-8编码关系?

ascii 是最早美国用的标准信息交换码,把所有的字母大小写,各种符号用 二进制来表示,共有256种,同时加入拉丁文等字符,1bytes代表一个字符。

Unicode是为了统一世界各国语言的不同,统一用2个bytes代表一个字符,可以表达2**16=65556个,称为万国语言,特点:速度快,但浪费空间,

可以用在内存处理中,兼容了utf-8,gbk,ASCII。

utf-8 为了改变Unicode的这种缺点,规定1个英文字符用1个字节表示,1个中文字符用3个字节表示,

特点;节省空间,速度慢,用在硬盘数据传输,网络数据传输,相比硬盘和网络速度,体现不出来。

11. 简述位和字节的关系?

位:二进制位(bit)是计算机存储信息的基本单位,代表1个二进制数位,其值为0或1。
字节:8个连续的二进制位为一个字节,可以存放1个西文字符的编码。

12. "老男孩"使用UTF-8编码占几个字节?使用GBK编码占用几个字节?  

注意:在utf-8中,一个中文字符占用3个字节。在GBK中,一个中文字符占用2个字节

答案为9和6

13. 制作趣味模板程序需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实 如:敬爱可亲的xxx,最喜欢在xxx地方干xxx

name = input('请输入你的名字:')
adders = input('请输入你的地址:')
hobby = input('请输入你的爱好:')
msg = '敬爱可亲的{}.最喜欢在{},干{}'.format(name,adders,hobby)
print(msg)

  

14.  等待用户输入内容,检测用户输入内容中是否包含敏感字符?如果存在敏感字符提示“存在敏感字符请重新输入”,并允许用户重新输入并打印。敏感字符:"小粉嫩"、"大铁锤"

#方法一:
while True:
name = input('请输入你的名字:')
adders = input('请输入你的地址:')
hobby = input('请输入你的爱好:')
msg = '敬爱可亲的{}.最喜欢在{},玩{}'.format(name, adders, hobby)
flag = False
comment = ['小粉嫩','大铁锤' ]
if '小粉嫩' and '大铁锤' in msg:
print('您输入的信息中带有敏感词汇,请重新输入')
flag = False
else:
print(msg)
break #方法二:
keyword = ["⼩粉嫩","⼤铁锤"]
while True:
comment = input('请输入评论:')
for f_key in keyword:
if f_key in comment:
print('您输入的信息中带有敏感词汇,请重新输入:')
else:
print('发表成功!')
break

  

15. 单行注释以及多行注释?

单行注释:使用符号#
多行注释:使用符号""" """ 和''' '''

16. 简述你所知道的Python3和Python2的区别?

1.源码风格不一样
python2 源码混乱,重复代码较多。
python3 源码规范,优美清新简单。

2.print方法有区别
python3的print方法,必须要加括号

3.默认编码不一样
python 3x 默认编码:utf-8
python 2x 默认编码: ascii

4.input不同
python 2x: raw_input()
python 3x: input()

17. 看代码书写结果: 
a = 1>2 or 4<7 and 8 == 8 
print(a)

先执行and部分4<7 and 8 == 8 ,4<7 结果为True 。8 == 8 结果为True 。那么and部分的结果为True

那么就剩下1 > 2 or True,最终结果为 True

18.continue和break区别?

breck:结束循环
continue:结束本次循环,继续下一次循环。

Day3默写代码:
Bit,Bytes,Kb,Mb,Gb,Tb之间的转换关系。

8 bit = 1 byte
1024 byte = 1 kb
1024 kb = 1 MB
1024 MB = 1 GB
1024 GB = 1 TB

 

python全栈学习--day2的更多相关文章

  1. python全栈开发-Day2 布尔、流程控制、循环

    python全栈开发-Day2 布尔 流程控制 循环   一.布尔 1.概述 #布尔值,一个True一个False #计算机俗称电脑,即我们编写程序让计算机运行时,应该是让计算机无限接近人脑,或者说人 ...

  2. python全栈学习路线

    python全栈学习路线-查询笔记 查询目录 一,硬件                                                                    十一,数据 ...

  3. python全栈学习--day4

    列表 说明:列表是python中的基础数据类型之一,它是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:   1 li = ['alex',123,Ture,(1,2,3,'wu ...

  4. python全栈学习--day3

    一.基础数据类型 基础数据类型,有7种类型,存在即合理. 1.int 整数 主要是做运算的 .比如加减乘除,幂,取余  + - * / ** %...2.bool 布尔值 判断真假以及作为条件变量3. ...

  5. python全栈学习--day1

      计算机基础 CPU:中央处理器 内存:4GB,8GB,临时处理事务的地方,供给CPU数据. 硬盘:相当于电脑的数据库,存储着大量的数据,文件,电影等. 操作系统:执行者,支配所有关系 window ...

  6. Python全栈学习_day002知识点

    今日大纲: . while循环 . 格式化输出 . 运算符 . 编码初识 1. while循环 - while 无限循环: while True: # 死循环 print('大悲咒') print(' ...

  7. python全栈学习--day11(函数高级应用)

    一,函数名是什么? 函数名是函数的名字,本质:变量,特殊的变量. 函数名()执行此函数 ''' 在函数的执行(调用)时:打散. *可迭代对象(str,tuple,list,dict(key))每一个元 ...

  8. python全栈学习--day10(函数进阶)

    一,引言 现在我有个问题,函数里面的变量,在函数外面能直接引用么? def func1(): m = 1 print(m) print(m) #这行报的错 报错了:NameError: name 'm ...

  9. python全栈学习--day9(函数初始)

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...

随机推荐

  1. canvas动画:自由落体运动

    经过前面的文章,我们已经能够在canvas画布上画出各种炫酷的图形和画面,但是这些画面都是禁止的,怎么样才能让他们动起来呢? 如何绘制基本图形可以参考:canvas基本图形绘制 如何对基本图形移动旋转 ...

  2. 利用GDI+在Winfrom绘制验证码

    string yzm: private void yangzhengma() { Bitmap bt = new Bitmap(70,22);//创建位图对象 Graphics gs = Graphi ...

  3. Java序列化机制和原理及自己的理解

    Java序列化算法透析 Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是一种将这些字节重建成一个对象的过程.Java序列化API提供一 ...

  4. 《CLR Via C#》学习--线程开销

    线程内核对象(thread kernel object) OS为系统中创建的每个线程都分配并初始化这种数据结构之一.在该数据结构中,包含一组对线程进行描述的属性. 数据结构中还包含所谓的线程上下文(t ...

  5. CSS布局方案

    居中布局 水平居中 1)使用inline-block+text-align 原理:先将子框由块级元素改变为行内块元素,再通过设置行内块元素居中以达到水平居中. 用法:对子框设置display:inli ...

  6. 吐血整理:人工智能PDF中文教材资源包2.73G基本包含全部学习资料-人工智能学习书单

    吐血整理:人工智能PDF中文教材资源包2.73G基本包含全部学习资料 人工智能学习书单(关注微信公众号:aibbtcom获取更多资源) 文末附百度网盘下载地址 人工神经网络与盲信号处理 人工神经网络与 ...

  7. 深度学习框架: Keras官方中文版文档正式发布

    今年 1 月 12 日,Keras 作者 François Chollet‏ 在推特上表示因为中文读者的广泛关注,他已经在 GitHub 上展开了一个 Keras 中文文档项目.而昨日,Françoi ...

  8. 【洛谷1640】[SCOI2010]连续攻击游戏

    题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的某一个属性.并且每种装备 ...

  9. java&python环境变量+idea&pycharm激活

    java: JAVA_HOME=C:\jdk1.5.0_06 PATH=%JAVA_HOME%\bin;%PATH% CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\l ...

  10. CSS之盒子模型(深入理解)

    CSS--盒子模型(Box Model) 简介: CSS盒子模型本质上是一个盒子,对网页中绝大部分的HTML元素进行包装定位(外边距,边框,内边距以及实际内容). 但是并不是所有的HTML元素都可以看 ...