Python学习笔记-Day2

内容大纲:

1、while循环

2、格式化输出

3、运算符

4、编码初识

 

一、while循环

1、基本结构:

while 条件:

  循环体

程序执行步骤:①先判断条件是否为True,若为True,则执行循环体;

                         ②循环体执行到底部,返回继续判断条件

while True:
    print('两只老虎')

 

2、如何终止循环:

(1)改变条件

  ①使用标志位flag;

#打印1~100
flag = True
count = 1
while flag:
    print(count)
    count = count + 1
    if count > 100:
        flag = False

  ②直接改变条件;

#打印1~100
count = 1
while count < 101:
    print(count)
    count = count + 1

(2)加入关键字break终止循环,循环中只要遇到break,立马结束循环

# 打印1~100
count = 1
while True:
    print(count)
    count = count + 1
    if count > 100:
        break

3、continue:结束本次循环,判断条件,继续循环

#continue的使用
while True:
    print(123)
    print(456)
    continue
    print(789)
#程序会一直打印123456123456不会打印789

4、while...else...结构:while循环执行中如果被break打断,则不 执行else后面的指令;没有被break打断,则正常执行else后面的指令

#while...else 结构
count = 1
while count < 5:
    count = count + 1
    if count == 3:
        break
else:
    print(666)
print(555)
#只会打印555,不会打印666

5、while的应用场景:

①验证用户名和密码,重新输入

②无限次的显示页面,无限次的输入

 

二、格式化输出:某些参数的位置是固定的,但是值是动态的需要用到格式化输出

%是占位符,占位符后面需跟上数据类型,s是字符串类型,d是数字类型

1、第一种方式:

name = input('请输入姓名:')
age = input('请输入年龄:')
msg = '你的名字是%s,你的年龄是%s' % (name,age)
print(msg)

2、第二种方式:使用字典

name = input('请输入姓名:')
age = input('请输入年龄:')
msg = '你的名字是%(name1)s,你的年龄是%(age1)s' % {'name1':name,'age1':age}
print(msg)

3、在格式化输出中,如果要显示%,需要输入%%

name = input('请输入姓名:')
age = input('请输入年龄:')
percent = int(input('请输入学习进度:'))
msg = '你的名字是%(name1)s,你的年龄是%(age1)s,你的学习进度是%(percent1)d%%' % {'name1':name,'age1':age,'percent1':percent}
print(msg)

 

三、运算符

1、算数运算符

a = 10;b = 20

 
运算符 描述 实例
+

a + b =30

- a - b = -10
* a * b = 200
/ a / b = 0.5
% 取余 a % b = 10
** a ** b = 10000000000
// 整除 a // b = 0

 

 

 

 

 

 

 

 

2、比较运算符

运算符 描述
=

等于

!=

不等于

<> 不等于,相当于!=
>

大于

< 小于
>= 大于等于
<=

小于等于

 

 

 

 

 

 

 

 

 

3、赋值运算符

4、逻辑运算符(not、and、or)

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

(2)前后两边的条件为比较运算

例如:

print(1<2 and 3>4 or 8<6 and 9>5 or 7>2)

结果是 True

(3)前后两边的条件为数值(0对应的bool值是False,非0对应的bool值是True)

x or y:如果x为非0(True),则返回x;如果x是0(False),则返回y;

x and y:如果x为非0(True),则返回y;如果x是0(False),则返回x;(与or相反)

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

结果为:

1
2
3
0

 (4)第三种情况:前后两边的条件一边为比较运算,一边为数值

参照第二种方法

print(6 or 2 > 1) 结果为:6

print(3 or 2 > 1) 结果为:3

print(0 or 5 < 4)结果为:False

print(2 > 1 and 3) 结果为:3

print(3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2) 结果为:2

 

四、编码初识

什么是编码?

在计算机中,所有的数据在存储和运算时都要使用二进制来表示,而具体用哪些二进制数表示哪些符号,每个人都可以约定自己的一套(这就叫编码),但是为了使大家互相通信而不造成混乱,大家必须使用相同的编码规则,以下就是目前运用广泛的编码规则:

ASCII码(美国信息交换标准代码),是由美国国家标准协会制定的,ASCII码使用7位或8位二进制数组合来表示128或256种可能的字符。标准ASCII码使用7位(剩下的1位是二进制数0)来表示所有的大写字母、小写字母、数字、标点符号,以及在美式英语中使用的特殊控制字符。中只有英文/数字/特殊字符,只有128个有效字符,每个字符由8位bit组成,最左一位都是0,因为设计之初用不上那么多位。

Unicode:将所有国家的语言文字都写入(浪费资源,占空间)

  起初:一个字符16bit==2个字节组成

  改版:一个字符32位 4个字节表示

GBK:国标,只包含中文,英文,数字,特殊字符。

  英文:1个字节(8位)

  中文:2个字节(16位)

utf-8:对Unicode编码的压缩和优化,最少用8位表示一个字符

  英文:8bit

  欧洲文字:16bit

  中文:24bit 3个字节

这些编码之间的英文、数字、特殊字符都参照ASCII。

8 bit = 1 Byte

1024 Byte = 1KB

1024KB = 1GB

1024GB = 1TB

1024TB = 1PB

posted @ 2018-08-04 11:42  whuitian  阅读(176)  评论(0编辑  收藏  举报