Python之while循环、break、continue、格式化

1.while循环结构
while条件:
循环体

while True: #死循环
  print('我请你打游戏')

2.如何终止循环
(1)改变条件(标志位概念)

flag=True
while flag: #死循环
  print('我请你打游戏')
  print('我请你打吃饭')
  print('我请你打听歌')
  flag = False
  print('我和你一起购物')

#从1打印到100
方法一:

flag=True
count=1
while flag:
    print(count)
    count+=1
    if count==101:
        flag=False

  

方法二:

count=1
while count<101:
    print(count)
    count+=1

(2)break
定义:while循环中只要运到break立马结束循环
while True: #死循环
print('我请你打游戏')
break
#利用break,while计算1到100间的和

num=1
sum=0
while True:
    sum=num+sum
    num=num+1
    if num==101:
        break
print(sum)

(3)continue:结束本次循环,继续下次循环

while True:
    print(111)
    print(222)
    continue
    print(333)

3.while else结构
如果while循环被break打断,则不执行else代码

count=1
while count<5:
    print(count)
    count+=1
    if count==3:
        break
else:
    print(666)
print(222)

>>>1
2
222
#while循环应用场景:
验证用户名密码,重新输入这个功能需要while循环。
无限次的显示页面,无限次的输入...
4.格式化输出
制作一个模板,某些未知的参数是动态的,像这样,就需要用格式化输出。
字符串的动态替换。
方式一:

name=input("请输入姓名:")
age=int(input("请输入年龄:"))
sex=input("请输入性别:")
#%是占位符  s是字符串类型  d数字
msg='你的名字是%s,你的年龄是%d,你的性别是%s'%(name,age,sex)
print(msg)

方式二:

name=input("请输入姓名:")
age=int(input("请输入年龄:"))
sex=input("请输入性别:")
msg='你的名字是%(name1)s,你的年龄是%(age1)d,你的性别是%(sex1)s'%{'name1':name,'age1':age,'sex1':sex}
print(msg)
#bug点 在格式化输出中,只想单纯的表示一个%时,应该用%%表示
# msg='我叫%s,今年%d,学习进度1%%' %('小甲鱼',28)
# print(msg)

5.运算符
(1)
== 比较两边的值是否相等
= 赋值运算
!= 不等于
+= 举例:count=count+1 简写:count+=1
-=
*=
/=
**= 幂等于
//= 整除等于
(2)逻辑运算符:
and or not
优先级:()>not>and>or
#and or not
情况一:前后条件为比较运算

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

#第二种情况,前后两边的条件为数值
''''
x or y if x is True,return True x
'''

print(1 or 2) #1
print(5 or 2) #5
print(0 or 2) #2
print(-1 or 2) #-1

补充
int<---->bool
0 对应的bool值为false,非0都是True
True 1,False 0
and相反
面试考的题

print(1 or 3 and 5 or 4) # 1
print(0 or 3 and 5 or 4) # 5
#print(1>2 or 3 and 4<6) # True
print(2 or 3 and 4 <6) # 2

总结:优先级:and>'>'>or
(3)应用
①if while 等条件判断(数据库,Django orm Q查询)
②面试
6.编码初识
ASCII:最初版本的密码本:所有的英文字母,数字,特殊字符。
A:01000001 8位==1个字节
a:01100001
对于ASCII来说:
unicode:万国码,将所有国家的语言文字都写入这个密码本。
起初:1个字符 16位 2个字节表示。
改版:1个字符 32位 4个字节表示。 浪费资源,占空间。
GBK:只包含本国文字(以及英文字母,数字,特殊字符)与0101010对应关系。
UTF-8:包含全世界所有的文字与二进制0101001的对应关系(最少用8位一个字节表示一个字符)。
单位转换
8bit = 1byte

1024byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
1024PB = 1EB
1024EB = 1ZB
1024ZB = 1YB
1024YB = 1NB
1024NB = 1DB
posted @ 2020-05-08 22:50  菜鸟鸭  阅读(1533)  评论(0)    收藏  举报