一.if条件语句
语法格式:
if
条件1... :(冒号结尾) #如果不满足,则执行下一条
if 条件n... :(冒号结尾) #如果不满足,则执行下一条
elif 条件n... :(冒号结尾) #如果不满足,则执行下一条
else 如果不满足条件那么就输出...
elif
条件2... :(冒号结尾) #如果不满足,则执行下一条
else :(冒号结尾)
如果不满足条件那么就输出...
例子:if条件语句
gender = 'female'
age = input('age >>:')
age=int(age)
height = input('height >>:')
height=int(height)
is_beautiful = True
if gender == 'female' and age > 18 and age <= 25 and height > 160 and is_beautiful:
print('表白中...')
else:
print('阿姨好...')
练习1:用户登陆验证
name=input('pls input you name>>:')
passwd=input('pls input you passwd>>:')
passwd=int(passwd) #输入的数据设置为整数类型
if name == 'szq' and passwd == 666666:
print('Welcome')
elif name != 'szq' or passwd != 666666:
print('You name or passwd error')
else:
print('The name does not exist')
练习2:根据用户输入的内容给出其权限
name=input('pls input you name>>:')
if name == 'szq':
print('超级管理员')
elif name == 'wjp':
print('网管')
elif name == 'zyl' or name == 'wxx':
print('技术专员')
else:
print('不存在这个人')
练习3:判断今天是周几,然后决定是出去玩还是上班
today=input('pls input today>>:')
today=int(today)
if today in [1,2,3,4,5]:
print('好好上班,别想着出去玩')
elif today in [6,7]:
print('出去玩')
else:
print('''
必须输入:1,2,3,4,5,6,7其中一种
''')
注意点:if today in [1,2,3,4]: 就相当于变量today的值存在与[1,2,3,4]内。 #变量today匹配[]中括号内的任意一个值。
练习4:用户登陆接口
让用户输入用户名密码
认证成功后显示欢迎信息
输错三次后退出程序
user_list = {
'ssp': {'passwd': 666666, 'account': 0},
'wsp': {'passwd': 666666, 'account': 0},
'zsp': {'passwd': 666666, 'account': 0},
}
while True:
name = input('pls input you name >>:')
passwd = input('pls input you passwd >>:')
passwd=int(passwd)
if name in user_list and passwd != user_list[name]['passwd']:
print('用户或密码输入错误,请重新输入')
user_list[name]['account'] += 1 # 针对不同用户做失败次数判断,这样失败次数不会叠加,某一用户失败,其他用户不受影响
if user_list[name]['account'] > 2: # 如果某一用户失败次数大于3,那么就提示用户"系统将被锁定"
print('你尝试的输入的次数过多,系统已被锁定')
break
continue
elif name in user_list and passwd == user_list[name]['passwd']:
print('登陆成功')
break
else:
print('用户名不在')
exit()
练习5:登陆接口需求升级:
可以支持多个用户登录 (提示,通过列表存多个账户信息)
用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
前言:这里需要用到Python中文件的读取和写入功能,例:
user_list={
'ssp':{'passwd':123,'account':0},
'wsp':{'passwd':123,'account':0},
'zsp':{'passwd':123,'account':0},
}
while True:
name=input('pls input you name >>:')
passwd=input('pls input you passwd >>:')
passwd=int(passwd)
with open('user_list.txt','r') as f: #打开文件"test.txt","r"表示只读,默认使用
user_land=f.read() #f.read()表示读取文件"test.txt"得内容并赋值给变量"user_land"
if name in user_land:
print('用户 %s 尝试登陆次数过多,已被系统锁定,无法登陆!' % (name))
break
if name in user_list and passwd != user_list[name]['passwd']:
print('用户或密码输入错误,请重新输入')
user_list[name]['account'] += 1
if user_list[name]['account'] > 2:
print('你尝试的输入的次数过多,系统已被锁定')
with open('user_list.txt', 'w') as f: #"w"表示可写,默认使用"r"只读,可写模式下不能读文件内容
f.write(name) #要写得内容
f.close() #有打开就有关闭
break
continue
elif name in user_list and passwd == user_list[name]['passwd']:
print('登陆成功')
break
else:
print('用户名不在')
Python读写功能注释:
Python读写功能注释
with open('test.txt','w') as f: #打开文件"test.txt","w"表示可写,默认使用"r"只读,可写模式下不能读文件内容
f.write(name) #要写得内容
f.write(passwd) #要写得内容
f.close() #有打开就有关闭
with open('test.txt') as f:
user_list=f.read() #f.read()"读取文件test.txt得内容",把值赋值给变量user_list
if name in user_list:
print('用户%s被锁定' %(name))
二.循环 While与for循环
2.1while 循环
2.1.1 while循环的语法(又称之为条件循环)
while 条件:
代码1
代码2
代码3
。。。。
2.1.2 while+break,break的意思是结束本层循环
2.1.2 while+continue,continue的意思是结束本次循环,进入下一次循环
while+continue练习:打印数字1-10,其中不打印数字8
n=1
while n <= 10:
if n == 8:
n+=1 #这里不加n+=1的话,while循环执行到n=8时,会一直循环,那么只能打印1-7,在8这个位置卡住
continue #当n=8时跳出本次循环
print(n)
n+=1
练习1:循环嵌套 (while循环内再加while循环)
while True: #第1个while循环
print('第一层')
while True: #第2个while循环
print('第二层')
while True: #第3个while循环
cmd=input('第三层>>: ')
if cmd == 'q':
break #如果在第3个while循环内输入'q',则跳出本层(第3层)循环
break
break
练习2:循环嵌套小技巧 while+tag #适合用于循环嵌套(即while循环中套多个while循环,3个以上循环嵌套比较适合用)
tag=True #定义变量tag=True
while tag:
print('第一层')
while tag:
print('第二层')
while tag:
cmd=input('第三层>>: ')
if cmd == 'q': #当输入'q'命令时
tag = False #定义变量tag为False,那么本层循环结束后,所有的变量tag的值都为False,那么所有的循环都将结束
break
2.2 for循环 方便从一个数据里面取多个值出来
字符串
ame='szq'
for n in name: #相当于:for n in 'szq'
print(n) #运行后得到如下值
s
z
q
列表
list=[1,2,3]
for n in list:
print(n)
1
2
3
字典
user_list={
'aaa':{"passwd":123,"account":0},
'bbb':{"passwd":123,"account":0},
'ccc':{"passwd":123,"account":0},
}
for key in user_list:
print(key)
aaa
bbb
ccc
多个字典
user_list={
'aaa':{"passwd":123,"account":0},
'bbb':{"passwd":123,"account":0},
'ccc':{"passwd":123,"account":0},
}
user={
'a':12,
'b':12,
'c':12,
}
for k,v in zip(user_list,user):
print(k,v)
aaa a
bbb b
ccc c