while循环/格式化输出/ 逻辑运算/ 编码 /单位转换
一.while 循环
1. 循环
while 条件:
代码块(循环体)
else:
当上面的条件为假. 才会执行
执行顺序:
判断条件是否为真. 如果真. 执行循环体. 然后再次判断条件....直到循环条件为假. 程序退出
2. break和continue
break: 停止当前本层循环
continue: 停止当前本次循环. 继续执行下一次循环
二. 格式化输出
%s 占位字符串 全能的. 什么都能接
%d 占位数字
name="清风徐来" age = 22 hobby = "浪" location = "湖边" print(age+"岁的"+name+"在"+location+"喜欢"+hobby) #拼接 print("%s岁的%s在%s喜欢%s" % (age, name, location, hobby)) #格式化
制作卡片
name = input("请输入名字:") age = input("请输入年龄:") job = input("请输入你的工作:") hobby = input("请输入你的爱好:") s = '''------------ info of %s ----------- Name : %s Age : %s job : %s Hobbie: %s ------------- end -----------------''' % (name, name, age, job, hobby) print(s)
三.简单基本运算符
and: 并且, 两端同时为真. 结果才能是真
or: 或者, 有一个是真. 结果就是真
not: 非真既假, 非假既真
计算顺序/优先级 : () => not => and => or
x or y: 如果x是零, 输出y 如果x是非零, 输出x True: 非零 False: 零
and和or相反. 不要去总结and. 记住or
四.编码
1. ascii. 最早的编码. 至今还在使用. 8位一个字节(字符)
2. GBK. 国标码. 16位2个字节.
3. unicode. 万国码. 32位4个字节
4. UTF-8. 可变长度的unicode.
英文: 8位. 1个字节
欧洲文字:16位. 2个字节
汉字. 24位. 3个字节
五.单位转换
8bit = 1byte
1024byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
练习:
#1,判断逻辑语句的True,False.
#(1),1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 >8 or 7 < 6 : True
#(2),not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 : False
#2,求出下列逻辑语句的值.
# (1),8 or 3 and 4 or 2 and 0 or 9 and 7 结果 : 8
# (2),0 or 2 and 3 and 4 or 6 and 0 or 3 结果: 4
#3,下列结果是什么?
# (1),6 or 2 > 1,答案:6
# (2),3 or 2 > 1,答案:3
# (3),0 or 5 < 4,答案:False
# (4),5 < 4 or 3,答案:3
# (5),2 > 1 or 6,答案:True
# (6),3 and 2 > 1,答案:True
# (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 条件:
# 代码块(循环体)
# else:
# 当上面的条件为假. 才会执行
5,利用while语句句写出猜大小的游戏:
设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测
的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果
正确,然后退出循环。
a = 66 while True: number = int(input("请输入一个数字")) if number > a: print("猜测的结果大了") elif number < a: print("猜测结果小了") elif number == a: print("猜测结果正确") break
6,在第5题的基础上进行升级:给用户三次机会,如果三次之内猜对了,
则显示猜测正确,退出循环,如果三次之内没有猜测正确,
则自动退出循环,并显示'太笨了你.....'
n = 1 while n <= 3: number = int (input("请输入一个数字")) if number > 66: print("猜测结果大了") elif number < 66: print("猜测结果小了") else: print("结果正确") break n = n + 1 else: print("太笨了你")
7,使用while循环输入1 2 3 4 5 6 8 9 10
n = 1 while n < 11: if n == 7: n = n + 1 continue print(n) n = n + 1
8,求1至100所有数的和
#方法一: n = 1 a = n while True : n = n + 1 a += n if n == 100: print(a) break #答案:5050 #方法二: n = 1 a = 0 while n <= 100: a += n n = n + 1 else: print(a) #答案:5050
9,输出1至100内的所有奇数.
a = 1 while a <= 100: if a % 2 == 1: print(a) a = a + 1
10,输出1至100内的所有偶数,
#方法一: sum = 2 while sum <= 100: if sum % 2 == 0: print(sum) sum += 1 #方法二: sum = 0 while sum < 100: sum += 2 print(sum)
11,求1-2+3-4+5...99的所有数的和.
a = 1
sum = 0
while a < 100:
if a % 2 == 0:
sum -= a
else:
sum += a
a += 1
print(sum) #50
12,用户登录(三次输错的机会)且每次输错误时显示剩余错误次数(提示:使用字符串格式化)
a = "ZH123456" b = "MM123456" i = 1 while True: account_number = input("请输入您的账号:") password = input("请输入您的密码:") if account_number!= a or password!= b:
if i == 1:
print("输入错误,还剩下2次机会")
elif i == 2:
print("输入错误,还剩下1次机会")
elif i == 3:
print("输入错误,您没有机会了")
break
i = i + 1
else:
print("输入正确") break
#方法二,
i = 1
while i <= 3:
Z_H_ = input('请输入您的账户')
M_M_ = input("请输入你的密码")
if Z_H_ == '清风徐来' and M_M_ =='水波不兴':
print('欢迎登陆')
break
else:
print('输入错误,您还有%d次输入机会'%(3- i))
i += 1
13,用户输入一个数.判断这个数是否是一个质数.
number = int(input("请输入一个数字")) i = 2 while number > i: if number % i ==0: print("这不是一个质数") break i = i + 1 if number <= 1: print("这不是一个质数") else: print("这是一个质数")
14,输入一个广告语,判断这个广告是否合法.根据最新的广告法来判断,
广告法包含过多,我们就判断是否包含"最','第一','稀缺','国家级'等字样,如果包含.
提示,广告不合法.
GuangGgao = input("请输入广告标语") if "最"in GuangGgao or "第一"in GuangGgao or "稀缺" in GuangGgao or "国家级" in GuangGgao: print("广告不合法") else: print("合法")
15,输入一个数,判断这个数是几位数(用算法实现)
i = 0 number = int(input("请输入一个数字")) while number!=0: number = number // 10 i = i + 1 print (i)