2 格式化输出和流程控制
一.格式化输出
# %s 占位 字符串占位 (用的最多) 什么都行
# %d 占位 数字 占位
# 当一句话中使用的格式格式化输入和百分号的时候,要表示百分号,则需要再用一个百分号:%%
'''
name1="陈奕迅"
print("%s唱歌和好,粉丝占有量达到20%%以上"%name1)
# 代码
name=input("请输入名字")
age=input("请输入年龄")
job=input("请输入职业")
hobite=input("请输入爱好")
print("""
=========%s的名片===========
姓名:%s
年龄:%s
工作:%s
爱好:%s
=============================
"""%(name,name,age,job,hobite))
'''
#格式化输出 # s="%s生长于南方,喜欢%s"%("竹子","空气") # print(s) # # s1="{}生长于南方,喜欢{}".format("竹子","空气") # s2="{1}生长于南方,喜欢{0}".format("竹子","空气") # s3="{name1}生长于南方,喜欢{name2}".format(name2="空气",name1="竹子") # print(s1) # print(s2) # print(s3) # name=input("请输入用户名") # password=input("请输入密码") # print(f"你的用户名为{name},密码为{password}") # str.format(变量1,变量2) name=input("请输入用户名") password=input("请输入密码") # print("你的用户名为{0},密码为{1}".format(name,password)) print("你的用户名是{0},密码为{1},请及时修改密码,不要和密码{1},相同".format(name,password)) print("你的用户名是{name},密码为{password},请及时修改密码,不要和密码{password},相同".format(password="234",name="deng"))
# 二.while循环
'''
# 例子1
num = 1
while num <= 10:
print(num)
num = num +1
if num==5:
break #直接终止该本层循环 之后else不执行
# continue 结束本次循环,继续下次循环
else:
print("数数结束") #如果被break打断,是不会执行该语句
# 例子2
#使⽤while循环输⼊ 1 2 3 4 5 6 8 9 10
num=1
while num<11:
if num == 7: #剔除数字7
num+=1 #用continue剔除信息之前,需要改变变量值,使得循环能个继续下次循环
continue
print(num)
num = n
'''
# 三.运算
# 优先级
# 先进行比较运算 在进行逻辑运算
# ()-->not-->and-->or
# a or b的运算
# or: 如果a==0,那么结果为b,否则结果为a
# and: 和or相反
# print(0 or 1) #1
# print(0 and 2) #0
# print(1 or 2) #1
# print(1 and 2) #2
# 四.编码
# ascii 1个字节 8位 英文 0-127
# gbk 2个字节 16位 中文
# unicode :
# 英文: 1个字节 8位
# 中文: 4个字节 32位
# utf-8:
# 最少1个字节 英文 8位
# 欧洲 2个字节 16位
# 亚洲 3个字节 24位
# 六.in 和 not in
print("王杰" in "王杰傻叉") #true
print("王杰" not in "王杰傻叉") #flase
练习:
# 1、判断下列逻辑语句的True,False. # 1) # print(1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) #true # # 2) # print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)#flase # # 2、求出下列逻辑语句的值。 # # 1), # print(8 or 3 and 4 or 2 and 0 or 9 and 7 )#8 # # 2), # print(0 or 2 and 3 and 4 or 6 and 0 or 3)#4 # # 3、下列结果是什么? # 1)、 # print(6 or 2 > 1) #6 # # 2)、 #3 # print(3 or 2 > 1) # # 3)、 #flase # print(0 or 5 < 4 ) # # 4)、 #3 # print(5 < 4 or 3) # # 5)、 #true # print(2 > 1 or 6) # # 6)、 #true # print(3 and 2 > 1) # # 7)、 # 0 # print(0 and 3 > 1) # # 8)、 #3 # print(2 > 1 and 3) # # 9)、 #0 # print(3 > 1 and 0) # # 10)、 #2 # print(3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2) # 4、while循环语句基本结构? # while 条件: # 循环体 # break 结束整个循环 # continue 结束本次循环,继续下次循环 # while 条件: # 循环体 # else: # print("") ''' 5、利⽤while语句写出猜⼤⼩的游戏: 设定⼀个理想数字⽐如:66,让⽤户输⼊数字,如果⽐66⼤,则显示猜测 的结果⼤了;如果⽐66⼩,则显示猜测的结果⼩了;只有等于66,显示猜测结果 正确,然后退出循环 ''' # while True: # guess=int(input("猜数字:")) # if guess==66: # print("你猜对了") # break # elif guess>66: # print("猜大了") # else: # print("猜小了") # 6、在5题的基础上进⾏升级: # 给⽤户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循 # 环,如果三次之内没有猜测正确,则⾃动退出循环,并显示‘太笨了你....’。 # count=0 # while count<3: # count += 1 # guess=int(input("猜数字:")) # if guess==66: # print("恭喜你猜对了") # break # else: # print("你猜错了,你还有%s次机会"%(3-count)) # else: # print("太笨了你") # count=0 # while count<3: # count += 1 # guess=int(input("猜数字:")) # if guess==66: # print("恭喜你猜对了") # break # elif guess<66: # print("你猜小了") # print("你还有%s次机会"%(3-count)) # else: # print("你猜大了") # print("你还有%s次机会" % (3 - count)) # else: # print("太笨了你") # # 7.使⽤while循环输⼊ 1 2 3 4 5 6 8 9 10 # num=1 # while num<11: # if num == 7: # num+=1 # continue # print(num) # num = num +1 # 8.求1-100的所有数的和 # count=1 # sum=0 # while count<=100: # sum += count # count += 1 # print(sum) # #9.输出 1-100 内的所有奇数 # num=1 # while num<=100: # if num%2==1: # print(num) # num += 1 # # 10.输出 1-100 内的所有偶数 # num=1 # while num<=100: # if num % 2==0: # print(num) # num += 1 # 11.求1-2+3-4+5 ... 99的所有数 #方法一: # num = 1 # sum = 0 # while num<=99: # if num % 2 == 1: # sum = sum +num # else: # sum -= num # num += 1 # print(sum) #方法二: # n=1 # i=-1 # sum=0 # while n<=99: # i=-i # sum=sum+n*i # n+=1 # print(sum) # # 12.⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤ # # 字符串格式化) # pwd="123" # name="deng" # n=0 # while n<3: # n+=1 # Name=input("请输入用户名:") # password=input("请输入密码:") # if password==pwd and Name==name: # print("输入正确") # break # else: # print("你还有%s次机会"%(3-n)) # 13. ⽤户输⼊⼀个数. 判断这个数是否是⼀个质数(升级) # 质数:除了1和它本身外,不能被其他自然数整除 # num=int(input("请输入一个正整数:")) # for i in range(2,num): # if num % i==0: # print("%s非质数"%num) # break # else: # print("%s为质数"%num) # # # 14. 输⼊⼀个⼴告标语. 判断这个⼴告是否合法. 根据最新的⼴告法来判断. ⼴ # 告法内容过多. 我们就判断是否包含'最', '第⼀', '稀缺', '国家级'等字样. 如果包 # 含. 提示, ⼴告不合法 # 例如, 1. ⽼男孩python世界第⼀. ==> 不合法 # 2. 今年过年不收礼啊. 收礼只收脑⽩⾦. ==> 合法 # li=["最","第一","稀缺","国家级"] # content = input("请输入广告语:") # for i in li: # if i in content: # print("不合法") # break # else: # print("合法") # 15. 输⼊⼀个数. 判断这个数是⼏位数(⽤算法实现)(升级题) # dig=input("请输入一个数字:") # num = 0 # for i in dig: # num=num+1 # print("这个数是:%s位数"%num) #方法二: # num = int(input("输入一个数: ")) # n=0 # while num>0: # n+=1 # num = num//10 # print(n)
有疑问可以加wx:18179641802,进行探讨