Python之路Day2

今日大纲                                                       
1.昨日补充
2.while...else结构
3.格式化输出
4.运算符
5.编码

&1.昨日补充                        
用户输入:input
python2.X:用户输入:raw_input()
input() 相当于eval()
python3.X:input()
&2.while ...else结构                  
while 条件:
循环体 #当循环体中出现break时,跳出循环,并且不执行else结构
else:
pass
例1:
count = 0
while count < 5:
    count += 1
    print(count)
 else:
     print("循环执行结束") #执行else结构

 

执行结果:
1
2
3
4
5
循环执行结束
例2:
1 count = 0
2 while count < 5:
3     count += 1
4     print(count)
5     if count == 4:
6         break         #终止循环,且不执行else结构
7 else:
8     print("循环执行结束")
执行结果:
1
2
3
4
&3.格式化输出                        
例题1:
name = input("请输入姓名:")
age = input("请输入年龄:")
sex = input("请输入性别:")
msg = "我叫" + name.title() + ",我今年" + age + "岁,性别" + sex + ""
print(msg)
执行结果:
请输入姓名:david
请输入年龄:22
请输入性别:男
我叫David,我今年22岁,性别男。
现用占位符方式表示,%s (字符串),%d(数字)
name = input("请输入姓名:")
age = int(input("请输入年龄:"))
sex = input("请输入性别:")
msg = "我叫%s,我今年%d岁,性别%s。" %(name.title(), age, sex)
print(msg)
执行结果:同上
例题2:打印名片
name = input("请输入姓名:")
age = int(input("请输入年龄:"))
job = input("请输入职业:")
hobbie = input("请输入爱好:")
msg = """
-----------info of %s-----------
Name  : %s
Age   : %d
Job   : %s
Hobbie: %s
---------------END-----------------
""" %(name.title(), name.title(), age, job, hobbie)
print(msg)
执行结果:
请输入姓名:david
请输入年龄:22
请输入职业:student
请输入爱好:reading

-----------info of David-----------
Name : David
Age : 22
Job : student
Hobbie: reading
---------------END-----------------

第二种使用方法
dic = {
    "name":"david",
    "age":22,
    "job":"student",
    "hobbie":"reding",
}
msg = """
-----------info of %(name)s-----------
Name  : %(name)s
Age   : %(age)d
Job   : %(job)s
Hobbie: %(hobbie)s
---------------END-----------------
""" %(dic)
print(msg)
执行结果:
-----------info of david-----------
Name : david
Age : 22
Job : student
Hobbie: reding
---------------END-----------------
例题三:
msg = "我叫%s,我今年%d岁,目前我的学习进度是2%%。"%("david",22)#%%2 第一个%是对第二个%号的转义
print(msg)
执行结果:
我叫david,我今年22岁,目前我的学习进度是2%。

&4.运算符                              
算数运算符:+ - * / %(取余) //(取商) **(幂运算)
比较运算法:== != > < >= <=
赋值运算符:= += -=
逻辑运算符:not、and、 or
优先顺序:()> not > and > or ,同级别从左往右依次执行
例题:
print(3>4 or 4<3 and 1==1)       #F
print(1 < 2 and 3 < 4 or 1>2)    #T
print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1) #T
print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8) #F
print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) #F
print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) #F
x or y , x为真,值就是x,x为假,值是y;
x and y, x为真,值是y,x为假,值是x。
例题
print(8 or 4)                         # 8
print(0 and 3)                        # 0
print(0 or 4 and 3 or 7 or 9 and 6)   # 3
print(1 or 3 or 4 or 0)               # 1
print(1 or 3 or 0)                    # 1
print(1 > 2 and 3 or 4)               # 4
数字与bool值转化
int ---> bool 非零 True ,零 False
bool---> int True 1, False 0,
print(bool(100)) #结果True
print(bool(0))   #结果F
&5.初识编码                          
谍战片:嘀嘀嘀 滴滴 高低电平,0101010
电脑文件的存储,与文件的传输 010101010
初级密码本 :ascii 字母,数字,特殊字符。
0000 0001 8位== 1个字节 一个字节表示一个字符。
字符:组成内容的最小单元。 abc a b c
中国 中 国

a 01100001
b 01100010
c 01100011

万国码:unicode
创建初期 16位 两个字节表示一个字符。
a :01100001 01100001
中:01100011 01100001

升级:32位 四个字节表示一个字符。
a :01100001 01100001 01100001 01100001
中:01100011 01100001 01100011 01100001
资源浪费。
对Unicode升级 :utf-8。
utf-8:最少用8位数去表示一个字符。
a:01100001(字母用1个字节表示。)
欧洲文字:01100001 01100001(欧洲用2个字节表示。)
亚洲文字——中:01100001 01100001 01100001 (欧洲用3个字节表示。)
utf-16:最少用16位数去表示一个字符

gbk:国家标准。
a : 01100001
中: 01100001 01100001

8位 1个byte
1024bytes 1kb
1024kb 1MB
1024MB 1GB



posted on 2018-04-27 16:09  Y易然R  阅读(78)  评论(0)    收藏  举报

导航