字典-小练习

报错信息:dictionary changed size during iteration

字典在遍历时不可修改,建议转成列表和集合处理; 这个错是因为最开始在写循环的时候,写的是for name in user

#字典里用in来判断只是判断key是否存在;

user={'于萍':'123456','周蕊':'123456','李梦':'123456','王春武':'123456'}
for name in range(4):
username=input('请输入用户名:').strip()
passwd=input('请输入密码:').strip()
if username=='' or passwd=='':
print('用户名密码不能为空!')
elif username in user:
print('用户名已存在')
else:
cpasswd = input('请确认密码:').strip()
if passwd==cpasswd:
print('用户注册成功')
user[username]=passwd
else:
print('两次输入的密码不一致')
else:
print('错误次数过多')
print(user)



老师版的注册

user={'于萍':'123456','屁屁':'123456','李梦':'123456','王春武':'123456'}

for i in range(3):
username=input('请输入用户名:').strip()
passwd= input('请输入密码:').strip()
cpasswd=input('请输入确认密码:').strip()
if username=='' or passwd==''or cpasswd=='':
print('用户名/密码不能为空')
elif username in user:
print('用户名已注册')
elif passwd!=cpasswd:
print('两次密码输入的不一致')
else:
print('恭喜注册成功')
user[username]=passwd

else:
print('错误次数太多')

print(user)

也可也用user.setdefalut(username,passwd);也可以添加
原文地址:https://www.cnblogs.com/ruijie/p/10087917.html