while循环:
while 条件:
循环体
while True: #判断条件,如果条件为真,进入循环体 print('大悲咒') print('两只老虎') print('霸王别姬') print('老司机带带我') #返回到条件,继续判断条件
如何终止循环?
1.改变条件(标志位的概念)
flag = True while flag: print('大悲咒') print('两只老虎') print('霸王别姬') print('老司机带带我') flag = False
当循环条件为False时,无论下面有多少代码都不执行,例如:
flag = True while flag: print('大悲咒') print('两只老虎') flag = False print('霸王别姬') print('老司机带带我')
flag = True while flag: print('love story') flag = False print('有一个姑娘')
while循环练习:
把1—100循环打印出来
flag = True count = 1 while flag: print(count) count = count + 1 if count == 101: flag = False
或者用比较的方式来打印
num = 0 while num < 100: num += 1 print(num)
初学者尽量以第一种方式,True 跟 Flase的思想
2.break
while True: print(111) print(222) break print(333) print(444)
结果打印出 111 222,当break出现时,不论在何地出现,while循环都会终止
break练习:打印出1+2+3+4+......100的和
count = 1 sum = 0 while True: sum = sum + count count = count + 1 if count == 101: break print(sum)
或者
count = 0 num = 0 while count < 100: count += 1 num = count + num print(num)
continue : 结束本次循环,继续下一次循环
例如:把1—10打印除7以外的数字
num = 0 while num < 10: num = num + 1 if num == 7: continue print(num)
while.....else 结构
如果while循环被break打断,那么将不执行else代码
count = 1 while count < 5: print(count) count = count + 1 if count == 3 : break else: print(666) print(222)
应用场景:
验证用户名密码,重新输入这个功能需要while循环
无限次的显示页面,无限次的输入
格式化输出:
制作一个模板,某些位置的参数是动态的,这样的就需要格式化输出
字符串的动态替换例子:
age = input('请输入你的年龄:') sex = input('请输入性别:')
name = input('请输入你的姓名:')
msg = '你的名字是%s,你的年龄是%s,你的性别是%s' %(name,age,sex) print(msg)
或者
name = input('请输入你的姓名:') age = int( input('请输入你的年龄:')) sex = input('请输入性别:')
# %占位符 s 数据类型为字符串 d 数字
msg = '你的名字是%s,你的年龄是%d,你的性别是%s' % (name,age,sex)
print(msg)
如果占位符上的数字是%d,那么相应位置上需要加上int
例如:age = int(input('请输入你的年龄'))
还可以运用字典:
name = input('请输入你的姓名:') age = int( input('请输入你的年龄:')) sex = input('请输入性别:') msg = '你的名字是%(name1)s,你的年龄是%(age1)d,你的性别是%(sex1)s' % {'name1':name,'age1':age,'sex1':sex}
print(msg)
运用字典{}时,要注意前面的名词是一个字符串{'name1':name}
要注意有个bug点 ,在格式化输出中,只想单纯的表示一个 % 时,应该用 %%表示
msg = '我叫%s,年龄%d,我现在的学习进度是1%%' % ('Beriuta',23) print(msg)
运算符
== 比较的两边的值是否相等 = 赋值运算 != 不等于 += count = count + 1 简写 count += 1 -= count = count - 1 简写 count -= 1 *= count = count * 5 简写 count *= 5 /= count = count / 5 简写 count /= 5 **= count = count **8 简写 count **= 8 //= count = couont//4 简写 count //= 4
逻辑运算符
and or not
优先级:( ) > not > and >or
第一种情况,前后条件为比较运算
print(1 > 2 and 3 > 4 or 7 < 9 and 4 > 0 or 3 > 4)
第二种情况,前后两边的条件为数值
数字只有 0 为Flase
x or y 如果x 为真,则返回x的值 x and y 相反
print(1 or 2)
print(1 and 2)
补充
int <---> bool 0 对应的bool值为False,非 0 都是True True 1 Flase 0 print(bool(100)) print(bool(0)) print(bool(-1)) print(int(True)) print(int(Flase))
代码初始:
ASSCII:最初版本的密码本,包含所有英文字母,数字,特殊字符
UTF — 8:最少用8位表示一个字符
A:01000010 一个字节 欧洲文字:01000111 01000111 两个字节 中:01000111 01000111 0010011 三个字节 'abc 女孩':九个字节
gbk:国标,只包含中文,英文(英文字母,数字,特殊字符)
A:01000010 一个字节 中:01000111 01000111 两个字节