Python基础Day2

一、while 循环

循环的结构:

while 条件:

  循环体

 

原理:代码从上往下执行,判断while条件,条件为真则进入循环体,循环体代码执行到底部,返回继续判断条件,条件为真继续执行循环体,直至条件为false跳出循环

 

终止循环:

1.改变条件(设置标志位) 

#计算1-100的总和
sum = 0
count = 1
flag = True
while flag:
    sum = sum + count
    count = count + 1
    if count == 101:
        flag = False
print(sum)

 

2.关键字 break

循环中只要遇到break,立即结束循环

#计算1-100的总和
sum = 0
count = 1
while True:
    sum += count
    count += 1
    if count > 100:
        break
print(sum)

 

continue 关键字

结束本次循环,继续下一次的循环

原理:循环体到continue,下面循环体的代码不执行,直接跳到 判断while条件

count = 0
while count < 5:
    count += 1;
    if count == 3:
        continue
    print(count)

 

while else 结构

while执行完会执行else的代码,如果while循环被break打断,则不执行else的代码

count = 1
i = 'intel'
while count < 5:
    print(i)
    count += 1
    if count == 3:break
else:
    print("yes!")
print("AMD YES!")

 

while循环的应用场景

①验证用户名密码,重新输入这个功能需要while循环。

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

 

二、格式化输出

格式化输出相当于制作一个模板,某些位置的参数是动态的

 

字符串的动态替换:

%占位符

%s 字符串占位符

%d 数字占位符

# 元组格式的占位符
name = input("请输入您的姓名:")
age = int(input("请输入您的年龄:"))
sex = input("请输入您的性别:")
msg="""您的姓名是%s,
您的年龄是%d,
您的性别是%s
""" % (name,age,sex)
print(msg)

 

# 字典格式的占位符
name = "小明"
age = 20
print("我叫%(name)s,今年%(age)d岁。" %{'name' : name , 'age' : age } )

 

在格式化输出中,只表示%时,用%%表示

# 单纯表示%号
name = "王大锤"
print("我叫%s,今天学习的内容掌握了99%%" % name)

 

三、运算符

基本运算符

+    加

-    减

*    乘

/     除

%  取模

**  幂

//  取整除

a = 10
b = 20
print("a + b =", a + b)
print("a - b =", a - b)
print("a * b =", a * b)
print("b / a =", b / a)
print("b % a =", b % a)
print("b^a=", b ** a)
print("b // a =", b // a)
#结果
a + b = 30
a - b = -10
a * b = 200
b / a = 2.0
b % a = 0
b^a= 10240000000000
b // a = 2

 

比较运算符

==  两边是否相等

!=   两边是否不相等

>    大于

<    小于

>=  大于等于

<=  小于等于

c = 5
d = 6
print("c和d是否相等:", c == d)
print("c和d是否不相等:", c != d)
# print("c和d是否不相等", c <> d)      3.6版本已经不支持<>,不等于用 !=
print("c是否大于d:", c > d)
print("c是否小于d:", c < d)
print("c是否大于等于d:", c >= d)
print("c是否小于等于d:", c <= d)
# 结果
c和d是否相等: False
c和d是否不相等: True
c是否大于d: False
c是否小于d: True
c是否大于等于d: False
c是否小于等于d: True

 

赋值运算

a += 1    相当于 a = a + 1

a -= 1     相当于 a = a - 1

a *= 2     相当于 a = a * 2  

a /= 2   相当于 a = a / 2

a %= 2   相当于 a = a % 2

a **= 2    相当于 a = a ** 2

a //= 2   相当于 a = a // 2

 

逻辑运算符

and

or

not

 

①前后条件为比较运算

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

先算优先级的

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

#结果为False
False and False or False and True and True or False

 

②前后两边的条件为数值

int ---> bool :

  0 == False

  非0 == True

bool ---> int :

  False == 0

  True == 1

口诀:

x or y if x is True ,return x

x and y if x is True , return y

b = 0 or 3 and 5 or 4
print(b)



#结果:5

 

逻辑运算符的应用场景:

① if while 等条件判断(数据库,Django orm Q查询)

② 面试

 

四、编码初始

ASCII : 包含英文、数字、特殊字符,共8位,一个字节

 

unicode :万国码,包含所有国家的语言文字

早期:1个字符16位,两个字节表示

改版:1个字符32位,四个字节表示(浪费资源)

 

utf-8 :最少用一个字节表示

英文:一个字节

中文:三个字节

 

BGK:国标,包含中文、英文、特殊字符

英文:一个字节

中文:两个字节

 

所有的编码跟unicode有关系

Unicode编码是ASCII编码的扩展,utf-8编码是Unicode编码的升级
posted @ 2018-08-03 18:08  st--st  阅读(171)  评论(0编辑  收藏  举报