python -- while循环,格式化输出,运算符,初识编码

时间:2022-08-24 01:46:06

一、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