gpt4 book ai didi

python - 我的 while 循环有问题,不太清楚为什么

转载 作者:行者123 更新时间:2023-12-01 07:03:08 25 4
gpt4 key购买 nike

我正在编写一个小循环来阻止用户使用无效输入;但是,现在如果他们输入错误的内容,它会不断要求他们输入。 baseLet、secLet、thirdLet 和 forLet 都是包含字符的列表。该代码应该告诉用户是否输入了不在任何列表中的任何字符,并让他们重新输入输入(如果有)。

enchan = list(input("Enter your runes:"))

for z in enchan:
if not(z in baseLet or z in secLet or z in thirdLet or z in forLet):
valid = False


x = 0
while not(valid):
x = 0
enchan = list(input("Invalid character entered. Enter your runes:"))
while not(x < len(enchan)):
valid = True
for z in enchan:
if not(z in baseLet or z in secLet or z in thirdLet or z in forLet):
valid = False
x += 1

请原谅,我对编码还很陌生,并且有可能会犯一个愚蠢的错误,但这是我在这里(学习)的主要原因。

最佳答案

这应该有效:

baseLet = ['a']
secLet = ['b']
thirdLet = ['c']
forLet = ['d']
valid = False

def is_valid(input_string):
for s in input_string:
if not(s in baseLet or s in secLet or s in thirdLet or s in forLet):
print('false input')
return False
print('valid input')
return True

while not valid:
enchan = list(input("Enter your runes:"))
valid = is_valid(enchan)

您可以使用函数来检查您的输入是否是列表的一部分,并设置一个标志来停止 while 循环。

关于python - 我的 while 循环有问题,不太清楚为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58552492/

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