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编码的升级