python基础1习题练习:
#encoding:utf-8
#1.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
name=input('name>>: ').strip()
password=input('passwd>>: ').strip()
if name=='seven' and password=='123':
    print('login successful')
else:
    print('login failed')

#2.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
n=0
while n < 3:
    name=input('name>>: ').strip()
    password=input('passwd>>: ').strip()
    if name=='seven' and password=='123':
        print('login successful')
    else:
        print('login failed')
        n+=1
#3.实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
n=0
while n < 3:
    name=input('name>>: ').strip()
    passwd=input('passwd>>: ').strip()
    if name=='seven' or name=='alex' and passwd=='123':
       print('login successful')
    else:
        print('login failed')
        n += 1
#8.a 使用while循环实现输出2-3+4-5+6...+100 的和
n=2
sum=0
while n <= 100:
    if n%2==0:
        sum+=n
    else:
        sum-=n
    n+=1
print(sum)
#b.使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12 使用 while 循环实现输出 1-100 内的所有奇数
encoding:utf-8
n=1
while n <= 12:
    if n==6 or n==10:
        n+=1
        continue
    print(n)
    n+=1
#b.使用 while 循环实现输出 1-100 内的所有奇数
n=1
while n<=100:
    if n %2 !=0:
        print(n)
    n+=1
#e.使用 while 循环实现输出 1-100 内的所有偶数
n=1
while n<=100:
    if n%2==0:
        print(n)
    n+=1
#9现有如下两个变量,请简述 n1 和 n2 是什么关系?
# n1 = 123456
# n2 = n1
# print(id(n1))
# print(id(n2))
#关系:值相同,ID相同

# 2 作业:编写登陆接口
#
# 基础需求:
#
# 让用户输入用户名密码
# 认证成功后显示欢迎信息
# 输错三次后退出程序

count=0
while count <3:
    name=input('name>>: ').strip()
    passwd=input('passwd>>: ').strip()
    if name=='aa' and passwd=='123':
        print('login successful')
    else:
        print('input error,you have %d choice' %(2-count))
        count+=1

# 升级需求:
#
# 可以支持多个用户登录 (提示,通过列表存多个账户信息)
# 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
##(在本级目录下先创建一个db.txt文件)

dic={
    'egon1':{'password':'123','count':0},
    'egon2':{'password':'123','count':0},
    'egon3':{'password':'123','count':0},
}
count=0
while True:
    name=input('name>>: ').strip()
    if name not in dic:
        print('用户不存在')
        continue
    with open('db.txt','r') as f:
        lock_users=f.read().split('|')
        if name in lock_users:
            print('用户%s被锁定,'%name)
            break

        if dic[name]['count'] > 2:
            print('次数过多,锁定')
            with open('db.txt','a') as f:
                f.write('%s|' %name)
            break
        passwd=input('passwd>>: ')
        if passwd==dic[name]['password']:
            print('登陆成功')
            break
        else:
            print('用户名,密码错误')
            dic[name]['count']+=1