python while 格式化 运算符 编码
#######################总结#############
1. 循环
while 条件:
循环体(break, continue)
循环的执行过程:
执行到while的时候. 首先判断条件是否成立.如果成立. 执行循环体. 再一次判断条件.... 如果不成立. 直接跳出循环
break 跳出当前本层循环
continue 结束本次循环. 继续执行下一次循环
2. 格式化输出
%s 占位字符串(常用)
%d 占位数字
%f 占位浮点数
name = input('你叫什么名字:') add = input('你来自哪里:') age =int(input('年龄:')) notlike=input('请输入你不喜欢的明星') # print("我叫"+name,'我来自'+add,'老婆'+wife,'不喜欢的明星:'+notlike) # print('我叫 %s,来自%s,年龄%d 不喜欢的明星%s' %(name,add,age,notlike )) # # print(f'我叫{name},来自{add},年龄{age} 不喜欢的明星{notlike}')
#"{1} {0} {1}".format("hello", "world") # 设置指定位置
3. 运算符
!=
+= 累加 a += b a = a + b
and 并且, 左右两端同时为真. 结果才能是真
or 或者, 左右两端有一个是真. 结果就是真
not 非. 非真既假, 非假既真
顺序: () => not => and => or
x and y x为真返回y x为假返回x
x or y x为真返回真 x为假返回y
x or y => if x == 0 then y else x
and和or相反
4. 编码
1. ascii 8bit 1byte 包含了 英文, 数字, 特殊字符, 特殊操作符
2. gbk 16bit 2byte 主要包含的: 中文, 日文, 韩文, 繁体中文
3. unicode 32bit 4byte 万国码
4. utf-8
英文: 8bit 1byte
欧洲: 16bit 2byte
中文: 24bit 3byte
########################作业 ###################
1、判断下列逻辑语句的True,False.
1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
2)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
True
False
2、求出下列逻辑语句的值。
1),8 or 3 and 4 or 2 and 0 or 9 and 7
2),0 or 2 and 3 and 4 or 6 and 0 or 3
8
4
3、下列结果是什么?
1)、6 or 2 > 1
6
2)、3 or 2 > 1
3
3)、0 or 5 < 4
0
4)、5 < 4 or 3
3
5)、2 > 1 or 6
1
6)、3 and 2 > 1
1
7)、0 and 3 > 1
0
8)、2 > 1 and 3
3
9)、3 > 1 and 0
0
10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2
2
4、while循环语句基本结构?
while 条件:
循环体(break, continue)
5、利⽤while语句写出猜⼤⼩的游戏:
设定⼀个理想数字⽐如:66,让⽤户输⼊数字,如果⽐66⼤,则显示猜测
的结果⼤了;如果⽐66⼩,则显示猜测的结果⼩了;只有等于66,显示猜测结果
正确,然后退出循环。
while True: content =int(input('请输入数字')) if content > 66: print('你输入的结果大了') elif content < 66: print('你输入的结果小了') else: print('你才猜了') break
6、在5题的基础上进行升级:
给用户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循
环,如果三次之内没有猜测正确,则⾃动退出循环,并显示‘太笨了你....’。
number=66 count=3 while True: content =int(input('请输入数字')) if content > number: print('你输入的结果大了') elif content < number: print('你输入的结果小了') else: print('你才猜了') count -= 1 if count == 0: print('你太笨了') break number=66 count=1 while count<=3: content =int(input('请输入数字')) if content > number: print('你输入的结果大了') count+=1 continue elif content < number: print('你输入的结果小了') count += 1 continue else: print('你猜对了') count += 1 continue print("已经 猜完了3次")
7.使用while循环输入1 2 3 4 5 6 8 9 10
number =0 while number < 10: number+=1 print(number)
8.求1-100的所有数的和
sum = 0 number =1 while number <= 100: sum=sum+number number=number+1 print(sum)
9.输出 1-100 内的所有奇数
count = 1 while count <= 100: if count % 2 == 1: print(count) count +=1
10.输出 1-100 内的所有偶数
count = 1 while count <= 100: if count % 2 == 0: print(count) count += 1
11.求1-2+3-4+5 ... 99的所有数的和.
count = 1
sum = 0
while count < 100:
if count %2 == 0:
sum -= count
#-2 -6 -12 -20 30
else:
sum += count
#+1 +3 +5
count += 1
print(sum)
12.用户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤
字符串格式化)
count=0 number=3 while number: number=number-1 user=input('请输入用户名:') password=input('请输入密码:') if user=='admin' and password=='123456': print('输入正确') else: print('用户名或密码错误,你还剩余%s 次' %(number))
13. 用户输⼊⼀个数. 判断这个数是否是⼀个质数(升级题).
2 3 5 7 11 13
1 2
1 3
1 5
1 7
1 11
1 13
num = int(input('请输入一个数字:'))
if num <= 1:
print('这不是质数')
elif num == 2:
print('这是一个质数!')
else:
i=2
while i < num:
if num%i == 0:
print('这不是一个质数')
break
i += 1
else:
print ('这是一个质数!')
#方法二
n=int(input('请输入一个数字:'))
for i in range(2,n):
if n %i ==0:
print('不是质数')
break #有了break就不会执行后面的else
else:
print('是一个质数')
14. 输个告标语. 判断这个公告是否合法. 根据最新的公告法来判断. ⼴
告法内容过多. 我们就判断是否包含'最', '第⼀', '稀缺', '国家级'等字样. 如果包
含. 提示, 广告不合法
例如, 1. ⽼男孩python世界第⼀. ==> 不合法
2. 今年过年不收礼啊. 收礼只收脑⽩⾦. ==> 合法
content = input('请输入') if '最'in content or '第⼀'in content or '稀缺' in content or '国家级'in content: print('⽼男孩python世界第⼀') else: print('今年过年不收礼啊. 收礼只收脑')
14. 输入数字. 判断这个数是几位数(⽤算法实现)(升级题)
i = 0 num = int(input('请输入一个数:')) while num >= 1: num = num // 10 i += 1 print('这个数是%s位数'% i)
明⽇默写代码:
1. 求1-100之间所有的数的和
number=0
sum=0
while number < 100:
number+=1
sum = number + sum
print(sum)
2. And or not的含义和特征
and 变量 a 和 b 都为 true 则为真
or 变量 a 和 b 都为 true,或其中一个变量为 true
not 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。
3. break continue的含义. 有什么区别
#continue 停止当前本次循环,继续执行下一次循环
#break 彻底干掉一个循环