我试图回到函数的顶部(不重新启动它,但转到顶部)但无法弄清楚如何执行此操作。而不是给你很长的代码,我只是想做一个我想要的例子:
used = [0,0,0]
def fun():
score = input("please enter a place to put it: ")
if score == "this one":
score [0] = total
if score == "here"
if used[1] == 0:
score[1] = total
used[1] = 1
elif used[1] == 1:
print("Already used")
#### Go back to score so it can let you choice somewhere else.
list = [this one, here]
我需要能够回去,所以基本上忘记你试图再次使用“here”而不擦拭内存。虽然我知道它们很糟糕,但我基本上需要去,但它们在python中不存在。有什么想法吗?
*编辑:对不起,我忘了提及当它已经在使用时,我需要能够选择其他地方去(我只是不想让代码陷入困境)。我添加了得分==“这一个” - 所以如果我试图把它放在“这里”,“这里”已经采取了,它会给我选择重做得分=输入(“”)然后我可以采取该值并将其插入“this one”而不是“here”。你的循环语句将返回到顶部,但不会让我获取我刚刚找到的值并将其放在其他位置。我希望这是有道理的:p
答案 0 :(得分:5)
您正在寻找的是while
循环。你想设置你的循环以继续前进,直到找到一个地方。像这样:
def fun():
found_place = False
while not found_place:
score = input("please enter a place to put it: ")
if score == "here"
if used[1] == 0:
score[1] = total
used[1] = 1
found_place = True
elif used[1] == 1:
print("Already used")
这样,一旦找到了地点,就可以将found_place
设置为True
来停止循环。如果您还没找到某个地点,found_place
仍然是False
,那么您会再次进行循环播放。
答案 1 :(得分:1)
正如Ashwini正确指出的那样,你应该进行while
循环
def fun():
end_condition = False
while not end_condition:
score = input("please enter a place to put it: ")
if score == "here":
if used[1] == 0:
score[1] = total
used[1] = 1
elif used[1] == 1:
print("Already used")