Python 我希望输出在for循环中显示一次
如果Else语句出错,我希望它显示一次。请看我试过的代码Python 我希望输出在for循环中显示一次,python,Python,如果Else语句出错,我希望它显示一次。请看我试过的代码 list=[“苹果”、“葡萄”、“菠萝”、“橙子”] password=“xyz” def pass1(): 对于列表中的i: 如果i==密码: 打印(“已接受!”,“密码:+i) 打破 其他: 打印(“未找到密码!重试”) pass1() 输出: 找不到密码!再试一次 找不到密码!再试一次 找不到密码!再试一次 找不到密码!再试一次 进程已完成,退出代码为0 如果我正确理解了您的问题,您可以通过删除else来完成,如果循环结束,并且您
list=[“苹果”、“葡萄”、“菠萝”、“橙子”]
password=“xyz”
def pass1():
对于列表中的i:
如果i==密码:
打印(“已接受!”,“密码:+i)
打破
其他:
打印(“未找到密码!重试”)
pass1()
输出:
找不到密码!再试一次
找不到密码!再试一次
找不到密码!再试一次
找不到密码!再试一次
进程已完成,退出代码为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()
我不明白你为什么不把密码作为参数传递
也许把它看成是跟随< /P>
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)
实际上,如果只想检查列表中的值是否正确,则不需要循环,只需尝试以下操作:
def pass1():
if password in lists:
print("Accepted!", "Password : " + password)
else:
print("Password not found! Try again")
但是,如果您仍然希望迭代列表,则可以像下面这样使用return:
def pass1():
for i in lists:
if i == password:
return print("Accepted!", "Password : " + i)
return print("Password not found! Try again")
因为如果不使用return,即使密码是真的,最后一个代码也会被打印出来。另一种方法是使用
else
onfor loop
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()
列表中没有一项与密码匹配,因此代码正常工作。您是否尝试过在else
块中执行return
-ing操作?请查看以下答案:-您不需要重复查看列表。您可以使用in
关键字立即根据密码条件测试所有值。我使用正确的密码进行了尝试,结果显示2个输出“已接受!”和“未找到密码!重试”。我希望是他们中的任何一个。如果你想成为他们中的任何一个,只需删除返回。但“找不到密码!重试”会一直打印到与正确答案不匹配为止。我希望它是一次性的。复制并粘贴我的代码,然后自己试试。它只打印一次。