Python:有没有办法告诉程序回去?

时间:2017-10-07 21:46:39

标签: python

我一直想知道有没有办法编写一行告诉python回到代码中的其他地方?

这样的事情:

choose = int(input())
if choose == 1:
    print(“Hi.”)
else:
*replay line1*

这样的东西真的很基本吗?

我不是特别想要使用更大的循环但是如果可能的话我可以吗?

任何想法,我都是python的新手?

2 个答案:

答案 0 :(得分:2)

ICar

答案 1 :(得分:0)

这有点奇怪,它适用于预期值为布尔值的情况(仅两个预期值),并且这些布尔值为0或1,而不是其他任意字符串, aaand 您不想存储输入。

while int(input()) != 1:
    # <logic for else>
    pass  # only put this if there's no logic for the else.

print("Hi!")

虽然有其他方法,例如:

choose = int(input())
while choose != 1:
    <logic for else>
    choose = int(input())

或者你可以创建一个函数:

def poll_input(string, expect, map_fn=str):
    """
    Expect := list/tuple of comparable objects
    map_fn := Function to map to input to make checks equal
    """

    if isinstance(expect, str):
        expect = (expect,)

    initial = map_fn(input(string))
    while initial not in expect:
        initial = map_fn(input(string))

    return initial

因此使用它:

print("You picked %d!" % poll_input("choice ", (1, 2, 3), int))

更多不明确的案例