一、while循环
1、语法
while 条件:
循环体(结果)
如果条件为真,则直接执行结果),然后再次判断条件,知道条件为假,停止循环。
while True:
print('你是谁呢')
退出循环:1、break 2、改变条件
while true:
content = input('请输入你想要唱的歌曲,输入aq退出:')
if content == 'aq':
break
print('你唱的是什么:',content)
count = 1
while count <=3: # 最多输入三次
# count = 1 # 次数,死循环
song = input('请输入你想要唱的歌曲:')
print('你想要唱的歌曲是:',song)
# 改变count
count = count + 1
3、流程控制-break 和continue
break:立刻跳出此次循环,彻底结束
continue:停止当前循环,继续执行下一次循环
count = 1
while count <=3:
song = input('请输入你想要唱的歌曲:')
if song == '':
continue # 停止本次循环,继续执行下一次循环,不会彻底中断循环
print('你想要唱的歌曲是:',song)
count = count + 1
一些程序
# 输出 1-100
num = 1
while num <= 100:
print(num)
num = num + 1 #请输入1-100之间的偶数
num = 1
while num <=100:
a = num%2
if a == 0:
print(num)
num = num + 1 #请输入1-100之间的奇数
num = 1
while num <=100:
a = num%2
if a == 1:
print(num)
num = num + 1 #请输入1-100的和
sum = 0
num = 1
while num <= 100:
sum = sum + num
num = num + 1
print(sum)
# 用户输入个数. 判断这个数是否是一个质数
num = int(input('请输入一个数:'))
i = 2
if num < i and num >= 0:
print('这不是一个质数')
else:
while i < num:
if num % i == 0:
print('这不是一个质数')
break
i += 1
else:
print('这是一个质数')
二、格式化输出
%s 表示字符串的占位,是全能占位,既可以是字符串也可以是数字
%d 表示数字的占位,只能占位数字
注: 如果一句话中使用了格式化输出,%就是占位,如果想正常显示%,需写为%%,表转义
name = input('你的名字是什么:')
gender = input('你的性别是什么:')
star = input('你最喜欢的明星是谁:')
science =input('你最喜欢的科学家是:')
# 连接
print("我的名字是"+name+",性别"+gender+",我喜欢的明星是"+star+",我喜欢的科学家是"+science)
# 格式化%s
print("我的名字是%s,性别是%s,喜欢的明星是%s,喜欢的科学家是%s"%(name,gender,star,science))
# 新版本可支持
print(f"我的名字是'{name},性别是{gender},喜欢的明星是{star},喜欢的科学家是{science}")
三、运算符
计算机可以进行的运算有很多种:算术运算(+ - * / % **(幂) //(整除)),比较运算(== != <> > < >= <=),逻辑运算(and or not),赋值运算,成员运算,身份运算,位运算
着重解释逻辑运算:
and 并且,左右两端同时为真,结果才能为真
or 或者,左右两端有一个为真,结果则为真
not 非 ,非真即假,非假即真
混合运算
运算顺序: () -> not -> and -> or
当出现 x or y 时,判断 x 是否为0,如果 x == 0 则为 y ,否则返回 x
当出现 x and y 时,情况正好和 or 相反
True 当成 1,False当成 0 .
print(1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) #True
print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 ) #False
print(8 or 3 and 4 or 2 and 0 or 9 and 7) #8
print(0 or 2 and 3 and 4 or 6 and 0 or 3) #4
print(6 or 2 > 1) #6
print(3 or 2 > 1 ) #3
print(0 or 5 < 4) # False
print(5 < 4 or 3) #3
print(2 > 1 or 6) # True
print(3 and 2 > 1) # True
print(0 and 3 > 1) #0
print(2 > 1 and 3) #3
print(3 > 1 and 0 ) #0
print(3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2) # 2
成员运算
ad = input("请输入你的广告:")
if "最" in ad or "第一" in ad or "全球" in ad:
print("不合法的")
四、初识编码
1、ASCII码 为8bit(1 byte(字节)),有256个码位,用到了前128个,首位都是0,包括大小写英文字母,一些符号。
2、GBK ,国标码,兼容ASCII码,16bit(2字节)
3、unicode 对所有的编码进行统一,万国码,32bit(4字节)
4、utf-8 可变长度的unicode
1byte = 8 bit
1 KB = 1024 byte
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB
1 PB = 1024 TB