语法:
if用来定义你的要求标准,运行判断条件是否符合你的要求,符合则继续运行当前组代码,条件可以是任意表达式,但执行结果必须为布尔类型,在if判断中所有数据类型都会被自动转换成布尔类型。
elif在if条件不成立的情况下会运行这个条件,依次执行代码。
else条件都不满足运行这条。
if 条件1:
代码1
代码2
代码3
...
elif 条件2: # elif 可以设多条
代码1
代码2
代码3
...
elif 条件3:
代码1
代码2
代码3
...
else:
代码1
代码2
代码3
...
一些简单试用小案例见此博文3、9、10小题
while循环是python里循环结构的一种类型。
人类某些时刻要重复做某些事,所以程序中必须要有相应的机制来控制计算机像人一样具备这种循环做事的能力。
while循环语法:
#while的运行步骤:
#步骤1:如果条件为真,则自上而下的执行代码1、2、3...
#步骤2:执行完最后一条代码时再次判断条件,如果条件为True则重复步骤1,如果条件为False,则结束循环.
while 条件:
代码1
代码2
代码3
...
#简单用户认证案例
db_name = "sailan"
db_pwd = "123"
while True:
inp_name = input("请输入您的用户名: ")
inp_pwd = input("请输入您的密码: ")
if inp_name == db_name and inp_pwd == db_pwd:
print("用户登录成功")
else:
print("用户账号或密码错误")
使用了while循环后,代码确实精简多了,但问题是用户输入正确的用户名密码以后无法结束循环,那如何结束掉一个循环呢?
count = 0
while count < 6: # 6 < 6 条件不满足终止
print(count)
count += 1 # 循环一次计数加一
print('end.....')
#优化案例
db_name = "sailan"
db_pwd = "123"
count = 0
while count < 3:
inp_name = input("请输入您的用户名: ")
inp_pwd = input("请输入您的密码: ")
if inp_name == db_name and inp_pwd == db_pwd:
print("用户登录成功")
else:
print("用户账号或密码错误")
count += 1 # 输错三次退出
break: 直接终止本层循环
db_name = "sailan"
db_pwd = "123"
while True:
inp_name = input("请输入您的用户名: ")
inp_pwd = input("请输入您的密码: ")
if inp_name == db_name and inp_pwd == db_pwd:
print("用户登录成功")
break # 登入成功运行到这行直接终止本层循环
else:
print("用户账号或密码错误")
print('其他。。。。。。。。。') # 这行正常运行
# 嵌套
# 如果while循环嵌套了很多层,要想退出每一层循环则需要在每一层循环都有一个break。
while True:
while True:
while True:
break
break
break
tag = True
while tag:
while tag:
while tag:
tag = False # 把tag定义为False即可终止循环
break代表结束本层循环,而continue则用于结束本次循环,直接进入下一次循环。
# 强调1:不要在continue之后编写同级别的代码
count = 0
while count < 6: # 5 < 6
if count == 3
or count == 4:
count += 1
continue
# count+=1 # 不要写在这里
print(count)
count += 1
# 强调2: 如果不想执行本次循环之后的代码,可以用continue,但是如果本次循环本来就没有要继续运行的后续代码了,就没必要加continue了
db_name = "sailan"
db_pwd = "123"
while True:
inp_name = input("请输入您的用户名: ")
inp_pwd = input("请输入您的密码: ")
if inp_name == db_name and inp_pwd == db_pwd:
print("用户登录成功")
break
else:
print("用户账号或密码错误")
# continue 这个位置就没必要加,跟没加一样
在while循环的后面,我们可以跟else语句,当while 循环正常执行完并且中间没有被break中止的话,就会执行else后面的语句,所以我们可以用else来验证,循环是否正常结束。
count = 0
while count < 6:
print(count)
if count == 3:
break
count+=1
else:
print('。。。') # 会在while循环正常死亡之后运行 如果执行中被break,就不会执行else的语句。
# while循环嵌套
db_name = "sailan"
db_pwd = "123"
while True:
inp_name = input("请输入您的用户名: ")
inp_pwd = input("请输入您的密码: ")
if inp_name == db_name and inp_pwd == db_pwd:
print("用户登录成功")
while True:
print("""
0 退出
1 取款
2 提现
3 转账
""")
cmd=input("请输入您的命令编号:")
if cmd == "0":
break
elif cmd == "1":
print("正在取款")
elif cmd == "2":
print("正在提现")
elif cmd == "3":
print("正在转账")
else:
print("不知道的指令,请重新输入")
break
else:
print("用户账号或密码错误")
# tag的方式结束循环
db_name = "sailan"
db_pwd = "123"
tag = True
while tag:
inp_name = input("请输入您的用户名: ")
inp_pwd = input("请输入您的密码: ")
if inp_name == db_name and inp_pwd == db_pwd:
print("用户登录成功")
while tag:
print("""
0 退出
1 取款
2 提现
3 转账
""")
cmd=input("请输入您的命令编号:")
if cmd == "0":
tag = False
elif cmd == "1":
print("正在取款")
elif cmd == "2":
print("正在提现")
elif cmd == "3":
print("正在转账")
else:
print("不知道的指令,请重新输入")
else:
print("用户账号或密码错误")
循环结构的第二种实现方式,for循环可以做的事情while循环都可以实现,之所以用for循环是因为在循环取值(即遍历值)时for循环比while循环的使用更为简洁。
for与while对比:
相同之处: 都是循环,for循环能干的事,while循环都能干。
不同之处: for循环次数取决in后值的个数,while循环次数取决条件何时为假。
break 与 continue也可以用于for循环,使用语法同while循环
for 变量名 in 可迭代对象: # 此时只需知道可迭代对象可以是字符串\列表\字典,之后会专门写可迭代对象
代码一
代码二
...
for item in ['a','b','c']:
print(item)
#运行结果
# a
# b
# c
#案例一:打印数字0-5
for count in range(6): # range(6)会产生从0-5这6个数
print(count)
#案例二:遍历字典
info = {
'name':'sailan','age':18,'gender':'male'}
for k in {
'name':'sailan','age':18,'gender':'male'}: # for 循环默认取的是字典的key赋值给变量名k
print(k) # print(info[k]) 取key值
#案例三:嵌套
#待补充