一、if语句
'''
if 条件1: # 条件1成立的情况下会运行子代码块
子代码1
子代码2
子代码3
...
elif 条件2: # 条件2成立的情况下会运行子代码块
子代码1
子代码2
子代码3
...
elif 条件3: # 条件3成立的情况下会运行子代码块
子代码1
子代码2
子代码3
...
......
else: # 上述条件都不成立的情况下会运行else包含的子代码块
子代码1
子代码2
子代码3
...
'''
# 示范: 如果:成绩>=90,那么:优秀
#
# 如果成绩>=80且<90,那么:良好
#
# 如果成绩>=70且<80,那么:普通
#
# 其他情况:很差
score=input('请输入您的分数进行查询:') # score="abc"
if score.isdigit(): # "99".isdigit()
score=int(score) # 把纯数字的字符串转换成整型,score=int("99")
if score >= 90:
print('成绩的级别为:优秀')
elif score >= 80:
print('成绩的级别为:良好')
elif score >= 70:
print('成绩的级别为:普通')
else:
print('成绩的级别为:很差')
else:
print('必须输入纯数字')
二、 while语句
# 1、嵌套多层循环,需求是想一次性终止所有层的循环,推荐使用方式二
# 方式一:
while 条件1:
while 条件2:
while 条件3:
break
break
break
# 方式二:
tag=True
while tag:
while tag:
while tag:
tag=False
# 2、循环嵌套小案例
# 需求一:输错账号密码,重新输入重新验证
# 需求二:输错3次,退出程序
# 需求三:输对账号密码,登录成功之后,可以循环接收用户输入的命令并执行
username = 'egon'
password = '123'
count = 0
while count < 3: # count=3
# if count == 3:break
inp_user = input('请输入你的用户名:')
inp_pwd = input('请输入你的密码:')
if inp_user == username and inp_pwd == password:
print('登录成功')
while True:
cmd = input('请输入你的命令(输入q退出): ')
if cmd == 'q':
break
print('%s 正在执行' % cmd)
break
else:
print('输入的账号或密码错误')
count += 1 # count=3
username = 'egon'
password = '123'
count = 0
tag=True
while tag:
if count == 3:break
inp_user = input('请输入你的用户名:')
inp_pwd = input('请输入你的密码:')
if inp_user == username and inp_pwd == password:
print('登录成功')
while tag:
cmd = input('请输入你的命令(输入q退出): ')
if cmd == 'q':
# 退出程序
tag=False
else:
print('%s 正在执行' % cmd)
else:
print('输入的账号或密码错误')
count += 1 # count=3
# 3、while+continue:continue会结束本次循环,直接进入下一次循环
count = 1
while count < 6: # 5 < 6
if count == 4: # 4==4
count += 1 # count=5
continue # 强调:在continue之后不应该写与其同级的代码,因为为将无法运行
print(count) #
count += 1 # 6
#4、while+else
count=1
while count < 6:
# if count == 3:break
if count == 4:
count+=1
continue
print(count)
count+=1
else:
#else对应的子代码块会在while循环结束后,并且不是被break强行结束的情况下执行
print('====end====')
三、for循环
for循环介绍:
# 针对循环取值操作,while循环并不擅长,于是python提供一个专门循环取值操作:for循环
students = ['egon', 'lxx', 'alex']
for x in students: # 有几个值就循环几次
print(x)
dic={'name':'egon','age':18,'sex':'male'}
for aaa in dic: # 从字典里取出的默认是key,
print(aaa,dic[aaa])
#循环输出三次hello world:
count = 0
while count < 3:
print('======')
print('hello world')
print('======')
count+=1
for x in ['a','b','c']: # x='c'
print('======')
print('hello world')
print('======')
for x in range(3):
print('======')
print('hello world')
print('======')
# range(1,3) # 从1开始,顾头不顾尾
for x in range(1,3): # [1,2]
print(x) # 输出: 1 2
# range(3):默认从0开始,顾头不顾尾,到2结束,0,1,2
# range(1,6) # 可以指定开头,从1开始,顾头不顾尾,到5结束,1 2 3 4 5
# range(1,6,2) # 可以指定步长,1 3 5
students = ['egon', 'lxx', 'alex']
for x in students:
print(x)
for i in range(len(students)): # [0,1,2]
print(i)
print(students[i])
# 0 2 4
l=['a','b','c','d','e','f'] #
# range(len(l))
for i in range(0,len(l),2): #['a','c','e' ]
print(l[i])
总结:
一:while循环与for循环
相同之处:都是循环,都是用来做重复的事情
不同之处
1、
while循环通常用来循环执行某段代码
for循环通常用来进行循环取值
2、
while循环的循环次数取决于条件什么时候为假
for循环循环的次数取决in后的数据类型所包含的值的个数
二:for+range():range用来产生一个数字序列
用途1:用来重新n次某段代码
用途2:range可以用来产生数字序列,数字对应的是列表的索引
所以说,for+range()是可以按照索引编列列表
for与break、continue的使用:
# for+continue for i in range(5): # [0,1,2,3,4] if i == 2 or i == 3:continue print(i) #for+else for i in range(3): # username=input('username>>: ') password=input('password>>: ') if username == 'egon' and password == '123': break else: print('用户名或密码错误') else: print('账号密码输错次数达到最大限制,退出程序')
for循环案例:
1、使用for循环实现打印“*”金字塔的操作,效果如图:
m_num = input("请输入您需要打印的金字塔层数:")
num = int(m_num)
for i in range(num):
for x in range(num -i -1):
print(" ",end="")
for y in range(2*i+1):
print("*", end="")
for x in range(num -i -1):
print(" ",end="")
print("")
2、for循环应用切片操作:
#pps:for循环使用嵌套切片 #就是利用range()函数生成1-99的整数,然后从start_index=2(即3)开始以step=3取值,直到终点,再在新序列中取最后五个数。 for i in range(1,100)[2::3][-5::]: print(i,end=" ") # 输出结果 87 90 93 96 99