a = input()
def word_to_list(a):
b = str(a)
code2 = []
for digit in b:
code2.append (int(digit))
if len(code2) != 4:
print("no right amount")
else:
print(code2)
code2 = word_to_list(a)
我得到了这段代码,我想要的是你可以在代码短路时再做一次尝试(因为你需要长度为4)。有人知道它是如何工作的,这样你就可以做一个新的输入吗?
答案 0 :(得分:0)
您可以在获得新输入后从内部调用该函数,如下所示:
def word_to_list(a):
code = []
for digit in str(a):
code.append(int(digit))
if len(code) != 4:
print("no right amount")
# Input a new value, then call function with it again
word_to_list(input())
else:
print(code)
code2 = word_to_list(input())
这个(递归调用)充当循环,在它输入长度为4的代码之前,它会不断询问代码的使用。
这是一个更短,更有效的等效版本:
def code_to_list(c):
code_to_list(input("Try again")) if len(c) != 4 else print([int(d) for d in c])
答案 1 :(得分:0)
以下代码段使用while
循环来执行您想要的操作。它确实检查小于4而不是不等于4,因为我不确定你想要什么。它首先要求一个代码字,它一直询问,直到用户输入一个足够长的代码字。我使用列表推导缩短了word_to_list()
。
code2 = input()
while len(code2) < 4:
code2 = input()
code2 = [int(c) for c in code2]