gpt4 book ai didi

python : Exiting for loop?

转载 作者:行者123 更新时间:2023-11-28 22:38:32 24 4
gpt4 key购买 nike

我对 SO 进行了一些研究,并且知道已经提出了许多类似的问题,但我无法完全得到我的答案。无论如何,我正在尝试构建一个库以使用“Cesar's number”技术“加密”一个字符串,这意味着我必须获取该字符串并将每个字母替换为字母表中 X 位置以外的另一个字母(我希望这是有道理的) .这是我的代码:

from string import ascii_lowercase, ascii_uppercase

def creer_encodeur_cesar(distance):

retour = lambda x: encodeur_cesar(x, distance)
return retour

def encodeur_cesar(string, distance):
tabLowerCase = list(ascii_lowercase)
tabUpperCase = list(ascii_uppercase)
tabString = list(string)

l_encodedStr = []

for char in tabString:
position = 0
if char == " ":
pass
elif char.isupper():
#do something

elif char.islower():
for ctl in range(0, len(tabLowerCase)):
position = ctl
if char == tabLowerCase[ctl]:
if (ctl + distance) > 26:
position = ctl + distance - 25
char = tabLowerCase[position + distance]
l_encodedStr.append(char)
#How to break out of here??


encodedStr = str(l_encodedStr)

return encodedStr

encodeur5 = creer_encodeur_cesar(5)
print(encodeur5("lionel"))

因此,在我的第二个 elif 语句中,我想在成功找到并加密一个字符后中断,而不是遍历整个字母表。我曾尝试使用 break 但它跳出了主 for 循环。不是我想要的。我看到我可以使用 try exceptraise 但我不太清楚我该怎么做,这是个好主意吗?

执行此操作的最佳方法是什么?在这种情况下有哪些好的做法?

如有任何帮助,我们将不胜感激,并提前致谢!

最佳答案

您可以使用 continue关键词。

来自文档:

>>> for num in range(2, 10):
... if num % 2 == 0:
... print "Found an even number", num
... continue
... print "Found a number", num
Found an even number 2
Found a number 3
Found an even number 4
Found a number 5
Found an even number 6
Found a number 7
Found an even number 8
Found a number 9

关于 python : Exiting for loop?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35539925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com