我一直想知道有没有办法编写一行告诉python回到代码中的其他地方?
这样的事情:
choose = int(input())
if choose == 1:
print(“Hi.”)
else:
*replay line1*
这样的东西真的很基本吗?
我不是特别想要使用更大的循环但是如果可能的话我可以吗?
任何想法,我都是python的新手?
答案 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))
更多不明确的案例