首页新闻找找看学习计划

无法读出列表中的元素

0
悬赏园豆:5 [已解决问题] 解决于 2019-01-20 20:09

li=[]
username=input('请输入您的用户名:')
password=input('请输入您的密码:')
with open('list_of_info',mode='w+',encoding='utf-8') as f:
f.write('{}\n{}'.format(username,password))
with open('list_of_info',mode='r+',encoding='utf-8') as f1:
for line in f1:
li.append(line)

def shoping(func):
def inner(*args,**kwargs):
username_1=input('请输入您的登录用户名:').strip()
password_1=input('请输入您的登陆密码:').strip()
print(li)
print(username_1)
if username_1==li[0] and password_1==li[1]:
# print('登录成功')
print(username_1)
print(li[0])
ret = func(*args,**kwargs)
return ret
else:
print('登录失败,请重新登录')
# return ret
return inner
@shoping
def shopinglist_add():
print('增加一件商品')

@shoping
def shopinglist_del():
print('删除一件商品')

shopinglist_add()

在执行这段代码的时候,为何每次都执行的是else,然后打印登录失败。我将if 语句中的li[0]和li[1]分别换成固定的用户名和密码后,比如直接写成if username_1=='KL' and password_1=='123':显示正常。所以怀疑列表这里不能读出元素,求助大佬解释。

舒畅123的主页 舒畅123 | 初学一级 | 园豆:198
提问于:2019-01-20 19:58
< >
分享
最佳答案
0

 自己找到方法了,代码改成这样if username_1==li[0].strip() and password_1==li[1].strip():,需要在后面加上.strip()

舒畅123 | 初学一级 |园豆:198 | 2019-01-20 20:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册