python - 我希望输出在 for 循环中显示一次
问题描述
如果错误,我希望 Else 语句显示一次。请查看我尝试过的代码。
lists = ['apple','grape','pineapple','orange']
password = "xyz"
def pass1():
for i in lists:
if i == password:
print("Accepted!", "Password : " + i)
break
else:
print("Password not found! Try again")
pass1()
输出:
Password not found! Try again
Password not found! Try again
Password not found! Try again
Password not found! Try again
Process finished with exit code 0
解决方案
如果我正确理解您的问题,您可以通过删除else
, 如果循环结束并且您没有在列表中找到密码,则它不存在。
lists = ['apple','grape','pineapple','orange']
password = "xyz"
def pass1():
for i in lists:
if i == password:
print("Accepted!", "Password : " + i)
return
print("Password not found! Try again")
pass1()
另一种更蟒蛇的方式
def pass2():
if password in lists:
print(print("Accepted!", "Password : " + lists.index(password)))
else:
print("Password not found! Try again")
pass2()
我不明白您为什么不将密码作为参数传递?
也许考虑这样做如下
def pass3(password, lists):
if password in lists:
print(print("Accepted!", "Password : " + lists.index(password)))
else:
print("Password not found! Try again")
lists = ['apple','grape','pineapple','orange']
password = "xyz"
pass3(password, lists)
推荐阅读
- css - ionic 5 "CSS Custom Properties" --背景图片覆盖并重复
- php - 如何在 laravel 8 中计算表中的记录
- android - 我用颤振构建的应用程序在安装后立即崩溃
- python - 使用 OpenCV 过滤扫描打印中的图案噪声
- swiftui - 如何测试 iOS 应用程序的完整设置?
- email - 使用 Imapsync 同步两个 zimbra 服务器会消耗目标服务器上的大量空间
- python - Jupyter Notebook 上的“NameError: name 'Counter' is not defined”但在 PyCharm 上工作正常?
- fish - 鱼中的命令替换
- python - 按昨天一周过滤
- r - ggplot2:带有双x轴的负条形图