擅长:python、mysql、java
<p>第二个“admin”循环出现在成员dict循环中</p>
<p>也就是说,你应该:</p>
<pre><code>for i in memberDict:
if username == i and password == memberDict[i]:
print(f"Login successful, Welcome Member, {memberDict[i]}")
statuslist.append(0)
login=True
for i in adminDict:
if username == i and password == adminDict[i]:
print(f"Login successful, Welcome Admin, {adminDict[i]}")
statuslist.append(1)
login=True
if not login:
print("Login failed, There is no registered customers. Please try again.")
</code></pre>
<p>但事实上,你可能不应该重复这些格言。您可以通过以下方式判断键<code>i</code>是在dict memberDict还是adminDict中</p>
<pre><code>if i in memberDict:
if memberDict[i] == password:
# Display login message
</code></pre>
<p>行政官也是如此</p>
<hr/>
<p>为清晰起见,请编辑:</p>
<p>我想说的是,如果dict中存在一对<code>key</code>和<code>value</code>的话,您正在尝试定位它。您不需要迭代dict(也就是说,使用<code>for</code>循环)。您可以使用<code>if i in memberDict</code>->;找出<code>key</code>是否在dict中(在您的例子中,是<code>MemberDict</code>中的用户名);如果键<code>i</code>在dict中,则返回True,否则返回false</p>