路飞学城-14天集训,

在python3中有6个标准的数据类型:数字(number)、字符串(string)、列表(list)、元祖(tuple)、集合(sets)、字典(dict)。

 

布尔类型有两种:真  and   假  。  6,<7  返回 true   6>7  返回false

 

单引号、双引号、多引号的区别:如下图所示,单引号和双引号是没有区别的,   str1 = 'python'     str2 = "python"

如果字符串中有双引号,为了避免使用转义符,你可以使用单引号来定义这个字符串

str1 = "List of name:\nHua Li\nChao Deng"               str1 = """List of name:Hua Li  Chao Deng  """ 

""根据原格式输出,不会进行改变。

字符串格式化例子:如下

name = input("name:")
age = int(input("age:"))
job = input("job:")
hostname =input("hostname:")
info ="""
--------info of as----
name: %s
age : %d
job : %s
hostname: %s
"""% (name,age,job,hostname)
print(info)
基础需求:
让用户输入用户名密码
认证成功后显示欢迎信息
输错三次后退出程序

思路:这里的思路是什么呢,就是while循环,加if 、else就可以实现。
# count = 0
# lock= []
# #user:user passws=123
# f = open('bleak_user','r')
# lock_file=f.readlines()
# f.close()
# while count <=2:
# user = input("please input user :")
# passwd = input("please input passwd :")
# if user =="user" and passwd=="123":
# print("login success !!")
# break
# else:
# print("login false")
# for i in lock_file:
# line=i.strip('\n')
# lock.append(line)
# count+=1
# print(count)

# a=["list",123]
# print(a)
升级需求:
可以支持多个用户登录 (提示,通过列表存多个账户信息)
用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
count = 0
user_pass = []
lock = []
flag = 1
username=input("please input user :") #输入用户名

f = open('bleak_user','r') #打开文件 只读
lock_file = f.readlines() #以行模式读出来
f.close() #关闭文件

for i in lock_file: #循环打开的文件
line = i.strip('\n') #设置分隔符(行)
lock.append(line) #添加到列表lock

if username in lock: #if判断
print("%s 在黑名单里 !!" %username) #打印输出
else: #否则进入循环
while True:
count += 1 #count + 1 =count
passwd = input("please input passwd :")
f = open('user_info','r') #打开user_info文件 只读
user_file=f.readlines() #以行读文件
# print(type(user_file),"------------------")
# print(user_file)
f.close() #关闭
for i in user_file: #循环
user_pass = i.strip().split(',') #格式化文件,去掉字符串头尾,以,分割文件
# print(user_pass)
# print(type(user_pass))
if username ==user_pass[0] and passwd ==user_pass[1]: #判断是否属于
flag = True #真
break                         #结束循环
else:
continue            #返回循环头

if flag is True:
print('恭喜,登陆成功!')
break
else:
if count == 3: #输入错误
print("尝试三次后,密码错误,")
lock_file=open('bleak_user','a') #以追加打开文件
lock_file.write('%s\n' %username) #写入输入错误3次的用户名,
lock_file.close() #关闭文件
break #结束循环
posted @ 2018-03-06 15:51  Chuan_Chen  阅读(1413)  评论(3编辑  收藏  举报
#waifu-toggle { background-color: #fa0; border-radius: 5px; bottom: 66px; color: #fff; cursor: pointer; font-size: 12px; right: 0; margin-right: -100px; padding: 5px 2px 5px 5px; position: fixed; transition: margin-right 1s; width: 60px; writing-mode: vertical-lr; } #waifu-toggle.waifu-toggle-active { margin-right: -40px; } #waifu-toggle.waifu-toggle-active:hover { margin-right: -30px; } #waifu { bottom: -1000px; right: 0; line-height: 0; margin-bottom: -10px; position: fixed; transform: translateY(3px); transition: transform .3s ease-in-out, bottom 3s ease-in-out; z-index: 1; } #waifu:hover { transform: translateY(0); } #waifu-tips { animation: shake 50s ease-in-out 5s infinite; background-color: rgba(236, 217, 188, .5); border: 1px solid rgba(224, 186, 140, .62); border-radius: 12px; box-shadow: 0 3px 15px 2px rgba(191, 158, 118, .2); font-size: 14px; line-height: 24px; margin: -30px 20px; min-height: 70px; opacity: 0; overflow: hidden; padding: 5px 10px; position: absolute; text-overflow: ellipsis; transition: opacity 1s; width: 250px; word-break: break-all; } #waifu-tips.waifu-tips-active { opacity: 1; transition: opacity .2s; } #waifu-tips span { color: #0099cc; } #waifu #live2d { cursor: grab; height: 300px; position: relative; width: 300px; } #waifu #live2d:active { cursor: grabbing; } #waifu-tool { color: #aaa; opacity: 0; position: absolute; left: -10px; top: 70px; transition: opacity 1s; } #waifu:hover #waifu-tool { opacity: 1; } #waifu-tool span { color: #7b8c9d; cursor: pointer; display: block; line-height: 30px; text-align: center; transition: color .3s; } #waifu-tool span:hover { color: #0684bd; /* #34495e */ } @keyframes shake { 2% { transform: translate(.5px, -1.5px) rotate(-.5deg); } 4% { transform: translate(.5px, 1.5px) rotate(1.5deg); } 6% { transform: translate(1.5px, 1.5px) rotate(1.5deg); } 8% { transform: translate(2.5px, 1.5px) rotate(.5deg); } 10% { transform: translate(.5px, 2.5px) rotate(.5deg); } 12% { transform: translate(1.5px, 1.5px) rotate(.5deg); } 14% { transform: translate(.5px, .5px) rotate(.5deg); } 16% { transform: translate(-1.5px, -.5px) rotate(1.5deg); } 18% { transform: translate(.5px, .5px) rotate(1.5deg); } 20% { transform: translate(2.5px, 2.5px) rotate(1.5deg); } 22% { transform: translate(.5px, -1.5px) rotate(1.5deg); } 24% { transform: translate(-1.5px, 1.5px) rotate(-.5deg); } 26% { transform: translate(1.5px, .5px) rotate(1.5deg); } 28% { transform: translate(-.5px, -.5px) rotate(-.5deg); } 30% { transform: translate(1.5px, -.5px) rotate(-.5deg); } 32% { transform: translate(2.5px, -1.5px) rotate(1.5deg); } 34% { transform: translate(2.5px, 2.5px) rotate(-.5deg); } 36% { transform: translate(.5px, -1.5px) rotate(.5deg); } 38% { transform: translate(2.5px, -.5px) rotate(-.5deg); } 40% { transform: translate(-.5px, 2.5px) rotate(.5deg); } 42% { transform: translate(-1.5px, 2.5px) rotate(.5deg); } 44% { transform: translate(-1.5px, 1.5px) rotate(.5deg); } 46% { transform: translate(1.5px, -.5px) rotate(-.5deg); } 48% { transform: translate(2.5px, -.5px) rotate(.5deg); } 50% { transform: translate(-1.5px, 1.5px) rotate(.5deg); } 52% { transform: translate(-.5px, 1.5px) rotate(.5deg); } 54% { transform: translate(-1.5px, 1.5px) rotate(.5deg); } 56% { transform: translate(.5px, 2.5px) rotate(1.5deg); } 58% { transform: translate(2.5px, 2.5px) rotate(.5deg); } 60% { transform: translate(2.5px, -1.5px) rotate(1.5deg); } 62% { transform: translate(-1.5px, .5px) rotate(1.5deg); } 64% { transform: translate(-1.5px, 1.5px) rotate(1.5deg); } 66% { transform: translate(.5px, 2.5px) rotate(1.5deg); } 68% { transform: translate(2.5px, -1.5px) rotate(1.5deg); } 70% { transform: translate(2.5px, 2.5px) rotate(.5deg); } 72% { transform: translate(-.5px, -1.5px) rotate(1.5deg); } 74% { transform: translate(-1.5px, 2.5px) rotate(1.5deg); } 76% { transform: translate(-1.5px, 2.5px) rotate(1.5deg); } 78% { transform: translate(-1.5px, 2.5px) rotate(.5deg); } 80% { transform: translate(-1.5px, .5px) rotate(-.5deg); } 82% { transform: translate(-1.5px, .5px) rotate(-.5deg); } 84% { transform: translate(-.5px, .5px) rotate(1.5deg); } 86% { transform: translate(2.5px, 1.5px) rotate(.5deg); } 88% { transform: translate(-1.5px, .5px) rotate(1.5deg); } 90% { transform: translate(-1.5px, -.5px) rotate(-.5deg); } 92% { transform: translate(-1.5px, -1.5px) rotate(1.5deg); } 94% { transform: translate(.5px, .5px) rotate(-.5deg); } 96% { transform: translate(2.5px, -.5px) rotate(-.5deg); } 98% { transform: translate(-1.5px, -1.5px) rotate(-.5deg); } 0%, 100% { transform: translate(0, 0) rotate(0); } } © 2022 GitHub, Inc. Terms Privacy Securi